(0) Obligation:

JBC Problem based on JBC Program:
Manifest-Version: 1.0 Created-By: 1.6.0_20 (Apple Inc.) Main-Class: Test4
public class Test4 {
public static void main(String[] args) {
List l1 = new List(args.length);
List l2 = new List(args.length);
List l3 = (args.length % 2 == 0) ?
new List(args.length * args.length) : l2;

while (length(l1) + length(l2) + length(l3) * 5 > 0)
if (length(l1) % 2 == 1)
l1 = l1.getTail();
else if (length(l2) > length(l3))
l2 = l2.getTail();
else if (l3 == null)
break;
else {
l1 = new List(new Object(), l1);
l2 = new List(new Object(), l2);
l3 = l3.getTail();
}
}

private static void rec(List l1, List l2, List l3) {
if (length(l1) + length(l2) + length(l3) * 5 > 0)
if (length(l1) % 2 == 1)
rec(l1.getTail(), l2, l3);
else if (length(l2) > length(l3))
rec(l1, l2.getTail(), l3);
else if (l3 == null)
return;
else
rec(new List(new Object(), l1), new List(new Object(), l2), l3.getTail());
}

private static int length(List list) {
if (list == null)
return 0;
else
return 1 + length(list.getTail());
}
}


public class List {
public Object head;
private List tail;

public List(Object head, List tail) {
this.head = head;
this.tail = tail;
}

public List getTail() {
return tail;
}

public List(int len) {
if (len > 0)
this.tail = new List(len - 1);
}
}

(1) JBC2FIG (SOUND transformation)

Constructed FIGraph.

(2) Obligation:

FIGraph based on JBC Program:
Test4.main([Ljava/lang/String;)V: Graph of 690 nodes with 1 SCC.

List.<init>(I)V: Graph of 23 nodes with 0 SCCs.

Test4.length(LList;)I: Graph of 29 nodes with 0 SCCs.


(3) FIGtoITRSProof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Logs:


Log for SCC 0:

Generated 14 rules for P and 14 rules for R.


Combined rules. Obtained 1 rules for P and 4 rules for R.


Filtered ground terms:


9688_0_length_NONNULL(x1, x2, x3) → 9688_0_length_NONNULL(x2, x3)
List(x1, x2) → List(x2)
10322_0_length_Return(x1) → 10322_0_length_Return
9914_0_length_Return(x1) → 9914_0_length_Return
9696_0_length_Return(x1, x2) → 9696_0_length_Return

Filtered duplicate args:


9688_0_length_NONNULL(x1, x2) → 9688_0_length_NONNULL(x2)

Finished conversion. Obtained 1 rules for P and 4 rules for R. System has no predefined symbols.




Log for SCC 1:

Generated 15 rules for P and 8 rules for R.


Combined rules. Obtained 1 rules for P and 2 rules for R.


Filtered ground terms:


33_0_<init>_InvokeMethod(x1, x2) → 33_0_<init>_InvokeMethod(x2)
Cond_33_0_<init>_InvokeMethod(x1, x2, x3) → Cond_33_0_<init>_InvokeMethod(x1, x3)
144_0_<init>_Return(x1) → 144_0_<init>_Return
42_0_<init>_Return(x1) → 42_0_<init>_Return

Combined rules. Obtained 1 rules for P and 2 rules for R.


Finished conversion. Obtained 1 rules for P and 2 rules for R. System has predefined symbols.




Log for SCC 2:

Generated 520 rules for P and 206 rules for R.


Combined rules. Obtained 67 rules for P and 58 rules for R.


Filtered ground terms:


List(x1, x2) → List(x2)
9571_0_length_Load(x1, x2) → 9571_0_length_Load(x2)
11160_0_main_NE(x1, x2, x3, x4, x5, x6) → 11160_0_main_NE(x2, x3, x4, x5)
Cond_11656_0_main_LE1(x1, x2, x3, x4, x5, x6, x7) → Cond_11656_0_main_LE1(x1, x3, x4, x5, x6, x7)
11656_0_main_LE(x1, x2, x3, x4, x5, x6) → 11656_0_main_LE(x2, x3, x4, x5, x6)
Cond_11656_0_main_LE(x1, x2, x3, x4, x5, x6, x7) → Cond_11656_0_main_LE(x1, x3, x4, x5, x6, x7)
10322_0_length_Return(x1, x2) → 10322_0_length_Return(x2)
9914_0_length_Return(x1, x2) → 9914_0_length_Return
11562_0_length_Load(x1, x2) → 11562_0_length_Load(x2)
11371_0_length_Load(x1, x2) → 11371_0_length_Load(x2)
Cond_11160_0_main_NE1(x1, x2, x3, x4, x5, x6, x7) → Cond_11160_0_main_NE1(x1, x3, x4, x5, x6)
11263_0_main_Load(x1, x2, x3, x4) → 11263_0_main_Load(x2, x3, x4)
Cond_11160_0_main_NE(x1, x2, x3, x4, x5, x6, x7) → Cond_11160_0_main_NE(x1, x3, x4, x5, x6)
10933_0_length_Load(x1, x2) → 10933_0_length_Load(x2)
Cond_10472_1_main_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7) → Cond_10472_1_main_InvokeMethod1(x1, x3, x4, x6)
11153_0_main_NE(x1, x2, x3, x4, x5, x6) → 11153_0_main_NE(x2, x3, x5)
Cond_11545_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_11545_1_main_InvokeMethod(x1, x3, x4, x6)
9696_0_length_Return(x1, x2, x3) → 9696_0_length_Return
11545_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → 11545_1_main_InvokeMethod(x1, x2, x3, x5)
11545_0_length_Load(x1, x2) → 11545_0_length_Load
11343_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 11343_1_main_InvokeMethod(x1, x2, x3, x5)
11343_0_length_Load(x1, x2) → 11343_0_length_Load(x2)
Cond_11153_0_main_NE1(x1, x2, x3, x4, x5, x6, x7) → Cond_11153_0_main_NE1(x1, x3, x4, x6)
11248_0_main_Load(x1, x2, x3, x4) → 11248_0_main_Load(x2, x3)
Cond_11153_0_main_NE(x1, x2, x3, x4, x5, x6, x7) → Cond_11153_0_main_NE(x1, x3, x4, x6)
10906_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 10906_1_main_InvokeMethod(x1, x2, x3, x5)
10906_0_length_Load(x1, x2) → 10906_0_length_Load(x2)
Cond_10472_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_10472_1_main_InvokeMethod(x1, x3, x4, x6)
10472_0_length_Load(x1, x2) → 10472_0_length_Load(x2)
Cond_10323_1_main_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7) → Cond_10323_1_main_InvokeMethod1(x1, x3, x5, x6)
11113_0_main_NE(x1, x2, x3, x4, x5, x6) → 11113_0_main_NE(x2, x4, x5)
Cond_11496_1_main_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7) → Cond_11496_1_main_InvokeMethod1(x1, x2, x3, x5, x7)
11496_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → 11496_1_main_InvokeMethod(x1, x2, x4, x6)
Cond_11496_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_11496_1_main_InvokeMethod(x1, x3)
11496_0_length_Load(x1, x2) → 11496_0_length_Load(x2)
11322_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 11322_1_main_InvokeMethod(x1, x2, x4)
11322_0_length_Load(x1, x2) → 11322_0_length_Load
Cond_11113_0_main_NE1(x1, x2, x3, x4, x5, x6, x7) → Cond_11113_0_main_NE1(x1, x3, x5, x6)
11220_0_main_Load(x1, x2, x3, x4) → 11220_0_main_Load(x2, x4)
Cond_11113_0_main_NE(x1, x2, x3, x4, x5, x6, x7) → Cond_11113_0_main_NE(x1, x3, x5, x6)
10876_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 10876_1_main_InvokeMethod(x1, x2, x4, x5)
10876_0_length_Load(x1, x2) → 10876_0_length_Load(x2)
Cond_10450_1_main_InvokeMethod2(x1, x2, x3, x4, x5, x6, x7) → Cond_10450_1_main_InvokeMethod2(x1, x2, x3, x5, x6, x7)
10450_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → 10450_1_main_InvokeMethod(x1, x2, x4, x5, x6)
Cond_10450_1_main_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7) → Cond_10450_1_main_InvokeMethod1(x1, x3, x6)
Cond_10822_1_main_InvokeMethod1(x1, x2, x3, x4, x5, x6) → Cond_10822_1_main_InvokeMethod1(x1, x2, x3, x6)
10822_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 10822_1_main_InvokeMethod(x1, x2, x5)
Cond_10822_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_10822_1_main_InvokeMethod(x1)
10822_0_length_Load(x1, x2) → 10822_0_length_Load(x2)
Cond_10450_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_10450_1_main_InvokeMethod(x1, x3, x6)
10450_0_length_Load(x1, x2) → 10450_0_length_Load(x2)
Cond_10323_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_10323_1_main_InvokeMethod(x1, x3, x5, x6)
10323_0_length_Load(x1, x2) → 10323_0_length_Load(x2)
Cond_11339_0_main_LE1(x1, x2, x3, x4, x5, x6, x7) → Cond_11339_0_main_LE1(x1, x4, x5, x6, x7)
11339_0_main_LE(x1, x2, x3, x4, x5, x6) → 11339_0_main_LE(x3, x4, x5, x6)
Cond_11339_0_main_LE(x1, x2, x3, x4, x5, x6, x7) → Cond_11339_0_main_LE(x1, x4, x5, x6, x7)
11281_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → 11281_1_main_InvokeMethod(x1, x3, x4, x5, x6)
11281_0_length_Load(x1, x2) → 11281_0_length_Load(x2)
11118_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 11118_1_main_InvokeMethod(x1, x3, x4, x5)
11118_0_length_Load(x1, x2) → 11118_0_length_Load(x2)
10760_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 10760_1_main_InvokeMethod(x1, x3, x4)
10760_0_length_Load(x1, x2) → 10760_0_length_Load
Cond_10385_1_main_InvokeMethod2(x1, x2, x3, x4, x5, x6, x7) → Cond_10385_1_main_InvokeMethod2(x1, x2, x4, x5, x6, x7)
10385_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → 10385_1_main_InvokeMethod(x1, x3, x4, x5, x6)
Cond_10385_1_main_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7) → Cond_10385_1_main_InvokeMethod1(x1, x4, x6)
Cond_11223_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_11223_1_main_InvokeMethod(x1, x4, x6)
11223_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → 11223_1_main_InvokeMethod(x1, x3, x5)
11223_0_length_Load(x1, x2) → 11223_0_length_Load
11061_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 11061_1_main_InvokeMethod(x1, x3, x5)
11061_0_length_Load(x1, x2) → 11061_0_length_Load(x2)
10714_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 10714_1_main_InvokeMethod(x1, x3)
10714_0_length_Load(x1, x2) → 10714_0_length_Load
Cond_10385_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_10385_1_main_InvokeMethod(x1, x4, x6)
10385_0_length_Load(x1, x2) → 10385_0_length_Load(x2)
Cond_9660_1_main_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7) → Cond_9660_1_main_InvokeMethod1(x1, x5)
9660_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → 9660_1_main_InvokeMethod(x1, x3, x4, x6)
Cond_9660_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_9660_1_main_InvokeMethod(x1, x2, x4, x5, x7)
Cond_11011_1_main_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7) → Cond_11011_1_main_InvokeMethod1(x1, x2, x5, x7)
11011_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → 11011_1_main_InvokeMethod(x1, x4, x6)
Cond_11011_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_11011_1_main_InvokeMethod(x1)
11011_0_length_Load(x1, x2) → 11011_0_length_Load(x2)
10852_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 10852_1_main_InvokeMethod(x1, x4)
10852_0_length_Load(x1, x2) → 10852_0_length_Load
10467_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 10467_1_main_InvokeMethod(x1, x4)
10467_0_length_Load(x1, x2) → 10467_0_length_Load
Cond_9755_1_main_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7) → Cond_9755_1_main_InvokeMethod1(x1)
9755_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → 9755_1_main_InvokeMethod(x1, x4, x6)
Cond_9755_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_9755_1_main_InvokeMethod(x1, x2, x5, x7)
9755_0_length_Load(x1, x2) → 9755_0_length_Load(x2)
9660_0_length_Load(x1, x2) → 9660_0_length_Load(x2)
Cond_9806_1_length_InvokeMethod1(x1, x2, x3, x4) → Cond_9806_1_length_InvokeMethod1(x1)
9806_1_length_InvokeMethod(x1, x2, x3) → 9806_1_length_InvokeMethod(x1, x3)
Cond_9806_1_length_InvokeMethod(x1, x2, x3, x4) → Cond_9806_1_length_InvokeMethod(x1, x2, x4)
9688_0_length_NONNULL(x1, x2, x3) → 9688_0_length_NONNULL(x2, x3)
9955_0_main_Return(x1) → 9955_0_main_Return
11571_0_length_Return(x1, x2) → 11571_0_length_Return
11377_0_length_Return(x1, x2) → 11377_0_length_Return
10938_0_length_Return(x1, x2) → 10938_0_length_Return
11557_0_length_Return(x1) → 11557_0_length_Return
11555_0_length_Return(x1) → 11555_0_length_Return
11350_0_length_Return(x1, x2) → 11350_0_length_Return
10912_0_length_Return(x1, x2) → 10912_0_length_Return
11502_0_length_Return(x1, x2) → 11502_0_length_Return
11332_0_length_Return(x1) → 11332_0_length_Return
11330_0_length_Return(x1) → 11330_0_length_Return
10882_0_length_Return(x1, x2) → 10882_0_length_Return
10828_0_length_Return(x1, x2) → 10828_0_length_Return
11286_0_length_Return(x1, x2) → 11286_0_length_Return
11126_0_length_Return(x1, x2) → 11126_0_length_Return
10772_0_length_Return(x1) → 10772_0_length_Return
10770_0_length_Return(x1) → 10770_0_length_Return
11231_0_length_Return(x1) → 11231_0_length_Return
11229_0_length_Return(x1) → 11229_0_length_Return
11068_0_length_Return(x1, x2) → 11068_0_length_Return
10725_0_length_Return(x1) → 10725_0_length_Return
10723_0_length_Return(x1) → 10723_0_length_Return
11019_0_length_Return(x1, x2) → 11019_0_length_Return
10860_0_length_Return(x1) → 10860_0_length_Return
10858_0_length_Return(x1) → 10858_0_length_Return
10471_0_length_Return(x1) → 10471_0_length_Return
10470_0_length_Return(x1) → 10470_0_length_Return

Filtered duplicate args:


9571_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 9571_1_main_InvokeMethod(x1, x3, x4, x5)
11562_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → 11562_1_main_InvokeMethod(x1, x2, x3, x5, x6)
11371_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 11371_1_main_InvokeMethod(x1, x2, x4, x5)
10933_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 10933_1_main_InvokeMethod(x1, x3, x4, x5)
Cond_10472_1_main_InvokeMethod2(x1, x2, x3, x4, x5, x6, x7) → Cond_10472_1_main_InvokeMethod2(x1, x2, x3, x4, x6, x7)
10472_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → 10472_1_main_InvokeMethod(x1, x2, x3, x5, x6)
11343_1_main_InvokeMethod(x1, x2, x3, x4) → 11343_1_main_InvokeMethod(x1, x2, x4)
10906_1_main_InvokeMethod(x1, x2, x3, x4) → 10906_1_main_InvokeMethod(x1, x3, x4)
Cond_10323_1_main_InvokeMethod2(x1, x2, x3, x4, x5, x6, x7) → Cond_10323_1_main_InvokeMethod2(x1, x2, x3, x5, x6, x7)
10323_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → 10323_1_main_InvokeMethod(x1, x2, x4, x5, x6)
Cond_11496_1_main_InvokeMethod1(x1, x2, x3, x4, x5) → Cond_11496_1_main_InvokeMethod1(x1, x2, x3, x5)
11496_1_main_InvokeMethod(x1, x2, x3, x4) → 11496_1_main_InvokeMethod(x1, x2, x4)
10876_1_main_InvokeMethod(x1, x2, x3, x4) → 10876_1_main_InvokeMethod(x1, x3, x4)
Cond_10450_1_main_InvokeMethod2(x1, x2, x3, x4, x5, x6) → Cond_10450_1_main_InvokeMethod2(x1, x2, x3, x5, x6)
10450_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 10450_1_main_InvokeMethod(x1, x2, x4, x5)
Cond_10822_1_main_InvokeMethod1(x1, x2, x3, x4) → Cond_10822_1_main_InvokeMethod1(x1, x2, x4)
10822_1_main_InvokeMethod(x1, x2, x3) → 10822_1_main_InvokeMethod(x1, x3)
11281_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 11281_1_main_InvokeMethod(x1, x2, x4, x5)
11118_1_main_InvokeMethod(x1, x2, x3, x4) → 11118_1_main_InvokeMethod(x1, x3, x4)
Cond_10385_1_main_InvokeMethod2(x1, x2, x3, x4, x5, x6) → Cond_10385_1_main_InvokeMethod2(x1, x2, x3, x5, x6)
10385_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 10385_1_main_InvokeMethod(x1, x2, x4, x5)
11061_1_main_InvokeMethod(x1, x2, x3) → 11061_1_main_InvokeMethod(x1, x3)
9660_1_main_InvokeMethod(x1, x2, x3, x4) → 9660_1_main_InvokeMethod(x1, x3, x4)
Cond_9660_1_main_InvokeMethod(x1, x2, x3, x4, x5) → Cond_9660_1_main_InvokeMethod(x1, x2, x4, x5)
Cond_11011_1_main_InvokeMethod1(x1, x2, x3, x4) → Cond_11011_1_main_InvokeMethod1(x1, x2, x4)
11011_1_main_InvokeMethod(x1, x2, x3) → 11011_1_main_InvokeMethod(x1, x3)
9755_1_main_InvokeMethod(x1, x2, x3) → 9755_1_main_InvokeMethod(x1, x3)
Cond_9755_1_main_InvokeMethod(x1, x2, x3, x4) → Cond_9755_1_main_InvokeMethod(x1, x2, x4)
9688_0_length_NONNULL(x1, x2) → 9688_0_length_NONNULL(x2)

Filtered unneeded arguments:


Cond_10385_1_main_InvokeMethod(x1, x2, x3) → Cond_10385_1_main_InvokeMethod(x1, x2)
Cond_11223_1_main_InvokeMethod(x1, x2, x3) → Cond_11223_1_main_InvokeMethod(x1, x2)
Cond_10385_1_main_InvokeMethod1(x1, x2, x3) → Cond_10385_1_main_InvokeMethod1(x1, x2)
Cond_10385_1_main_InvokeMethod2(x1, x2, x3, x4, x5) → Cond_10385_1_main_InvokeMethod2(x1, x2, x3, x5)
Cond_11339_0_main_LE(x1, x2, x3, x4, x5) → Cond_11339_0_main_LE(x1, x2, x3)
Cond_11339_0_main_LE1(x1, x2, x3, x4, x5) → Cond_11339_0_main_LE1(x1, x2, x3)
Cond_10450_1_main_InvokeMethod(x1, x2, x3) → Cond_10450_1_main_InvokeMethod(x1, x2)
Cond_10450_1_main_InvokeMethod1(x1, x2, x3) → Cond_10450_1_main_InvokeMethod1(x1, x2)
Cond_10450_1_main_InvokeMethod2(x1, x2, x3, x4, x5) → Cond_10450_1_main_InvokeMethod2(x1, x2, x3, x5)
Cond_11113_0_main_NE(x1, x2, x3, x4) → Cond_11113_0_main_NE(x1, x2, x3)
Cond_11113_0_main_NE1(x1, x2, x3, x4) → Cond_11113_0_main_NE1(x1, x2, x3)
Cond_10472_1_main_InvokeMethod(x1, x2, x3, x4) → Cond_10472_1_main_InvokeMethod(x1, x2, x3)
Cond_11153_0_main_NE(x1, x2, x3, x4) → Cond_11153_0_main_NE(x1, x2, x3)
Cond_11153_0_main_NE1(x1, x2, x3, x4) → Cond_11153_0_main_NE1(x1, x2, x3)
Cond_11545_1_main_InvokeMethod(x1, x2, x3, x4) → Cond_11545_1_main_InvokeMethod(x1, x2, x3)
Cond_10472_1_main_InvokeMethod1(x1, x2, x3, x4) → Cond_10472_1_main_InvokeMethod1(x1, x2, x3)
Cond_10472_1_main_InvokeMethod2(x1, x2, x3, x4, x5, x6) → Cond_10472_1_main_InvokeMethod2(x1, x2, x3, x4, x6)
Cond_11160_0_main_NE(x1, x2, x3, x4, x5) → Cond_11160_0_main_NE(x1, x2, x3, x4)
Cond_11160_0_main_NE1(x1, x2, x3, x4, x5) → Cond_11160_0_main_NE1(x1, x2, x3, x4)
Cond_11656_0_main_LE(x1, x2, x3, x4, x5, x6) → Cond_11656_0_main_LE(x1, x2, x3, x4)
Cond_11656_0_main_LE1(x1, x2, x3, x4, x5, x6) → Cond_11656_0_main_LE1(x1, x2, x3, x4)

Combined rules. Obtained 67 rules for P and 58 rules for R.


Finished conversion. Obtained 67 rules for P and 58 rules for R. System has predefined symbols.


(4) Complex Obligation (AND)

(5) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:
none


The ITRS R consists of the following rules:
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0))))) → 10322_0_length_Return

The integer pair graph contains the following rules and edges:
(0): 9688_0_LENGTH_NONNULL(java.lang.Object(List(x0[0]))) → 9688_0_LENGTH_NONNULL(x0[0])

(0) -> (0), if ((x0[0]* java.lang.Object(List(x0[0]'))))



The set Q consists of the following terms:
9688_0_length_NONNULL(NULL)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
9806_1_length_InvokeMethod(10322_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0)))))

(6) IDPtoQDPProof (SOUND transformation)

Represented integers and predefined function symbols by Terms

(7) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9688_0_LENGTH_NONNULL(java.lang.Object(List(x0[0]))) → 9688_0_LENGTH_NONNULL(x0[0])

The TRS R consists of the following rules:

9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0))))) → 10322_0_length_Return

The set Q consists of the following terms:

9688_0_length_NONNULL(NULL)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
9806_1_length_InvokeMethod(10322_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0)))))

We have to consider all minimal (P,Q,R)-chains.

(8) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(9) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9688_0_LENGTH_NONNULL(java.lang.Object(List(x0[0]))) → 9688_0_LENGTH_NONNULL(x0[0])

R is empty.
The set Q consists of the following terms:

9688_0_length_NONNULL(NULL)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
9806_1_length_InvokeMethod(10322_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0)))))

We have to consider all minimal (P,Q,R)-chains.

(10) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

9688_0_length_NONNULL(NULL)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
9806_1_length_InvokeMethod(10322_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0)))))

(11) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9688_0_LENGTH_NONNULL(java.lang.Object(List(x0[0]))) → 9688_0_LENGTH_NONNULL(x0[0])

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(12) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • 9688_0_LENGTH_NONNULL(java.lang.Object(List(x0[0]))) → 9688_0_LENGTH_NONNULL(x0[0])
    The graph contains the following edges 1 > 1

(13) YES

(14) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


The ITRS R consists of the following rules:
79_1_<init>_InvokeMethod(42_0_<init>_Return, 0) → 144_0_<init>_Return
79_1_<init>_InvokeMethod(144_0_<init>_Return, x0) → 144_0_<init>_Return

The integer pair graph contains the following rules and edges:
(0): 33_0_<INIT>_INVOKEMETHOD(x0[0]) → COND_33_0_<INIT>_INVOKEMETHOD(x0[0] > 0, x0[0])
(1): COND_33_0_<INIT>_INVOKEMETHOD(TRUE, x0[1]) → 33_0_<INIT>_INVOKEMETHOD(x0[1] - 1)

(0) -> (1), if ((x0[0] > 0* TRUE)∧(x0[0]* x0[1]))


(1) -> (0), if ((x0[1] - 1* x0[0]))



The set Q consists of the following terms:
79_1_<init>_InvokeMethod(42_0_<init>_Return, 0)
79_1_<init>_InvokeMethod(144_0_<init>_Return, x0)

(15) IDPNonInfProof (SOUND transformation)

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair 33_0_<INIT>_INVOKEMETHOD(x0) → COND_33_0_<INIT>_INVOKEMETHOD(>(x0, 0), x0) the following chains were created:
  • We consider the chain 33_0_<INIT>_INVOKEMETHOD(x0[0]) → COND_33_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0]), COND_33_0_<INIT>_INVOKEMETHOD(TRUE, x0[1]) → 33_0_<INIT>_INVOKEMETHOD(-(x0[1], 1)) which results in the following constraint:

    (1)    (>(x0[0], 0)=TRUEx0[0]=x0[1]33_0_<INIT>_INVOKEMETHOD(x0[0])≥NonInfC∧33_0_<INIT>_INVOKEMETHOD(x0[0])≥COND_33_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])∧(UIncreasing(COND_33_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])), ≥))



    We simplified constraint (1) using rule (IV) which results in the following new constraint:

    (2)    (>(x0[0], 0)=TRUE33_0_<INIT>_INVOKEMETHOD(x0[0])≥NonInfC∧33_0_<INIT>_INVOKEMETHOD(x0[0])≥COND_33_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])∧(UIncreasing(COND_33_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_33_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_33_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_33_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)



    We simplified constraint (5) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (6)    (x0[0] ≥ 0 ⇒ (UIncreasing(COND_33_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11 + (2)bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)







For Pair COND_33_0_<INIT>_INVOKEMETHOD(TRUE, x0) → 33_0_<INIT>_INVOKEMETHOD(-(x0, 1)) the following chains were created:
  • We consider the chain COND_33_0_<INIT>_INVOKEMETHOD(TRUE, x0[1]) → 33_0_<INIT>_INVOKEMETHOD(-(x0[1], 1)) which results in the following constraint:

    (7)    (COND_33_0_<INIT>_INVOKEMETHOD(TRUE, x0[1])≥NonInfC∧COND_33_0_<INIT>_INVOKEMETHOD(TRUE, x0[1])≥33_0_<INIT>_INVOKEMETHOD(-(x0[1], 1))∧(UIncreasing(33_0_<INIT>_INVOKEMETHOD(-(x0[1], 1))), ≥))



    We simplified constraint (7) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (8)    ((UIncreasing(33_0_<INIT>_INVOKEMETHOD(-(x0[1], 1))), ≥)∧[2 + (-1)bso_14] ≥ 0)



    We simplified constraint (8) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (9)    ((UIncreasing(33_0_<INIT>_INVOKEMETHOD(-(x0[1], 1))), ≥)∧[2 + (-1)bso_14] ≥ 0)



    We simplified constraint (9) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (10)    ((UIncreasing(33_0_<INIT>_INVOKEMETHOD(-(x0[1], 1))), ≥)∧[2 + (-1)bso_14] ≥ 0)



    We simplified constraint (10) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (11)    ((UIncreasing(33_0_<INIT>_INVOKEMETHOD(-(x0[1], 1))), ≥)∧0 = 0∧[2 + (-1)bso_14] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • 33_0_<INIT>_INVOKEMETHOD(x0) → COND_33_0_<INIT>_INVOKEMETHOD(>(x0, 0), x0)
    • (x0[0] ≥ 0 ⇒ (UIncreasing(COND_33_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11 + (2)bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)

  • COND_33_0_<INIT>_INVOKEMETHOD(TRUE, x0) → 33_0_<INIT>_INVOKEMETHOD(-(x0, 1))
    • ((UIncreasing(33_0_<INIT>_INVOKEMETHOD(-(x0[1], 1))), ≥)∧0 = 0∧[2 + (-1)bso_14] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(79_1_<init>_InvokeMethod(x1, x2)) = [-1]   
POL(42_0_<init>_Return) = [-1]   
POL(0) = 0   
POL(144_0_<init>_Return) = [-1]   
POL(33_0_<INIT>_INVOKEMETHOD(x1)) = [2]x1   
POL(COND_33_0_<INIT>_INVOKEMETHOD(x1, x2)) = [2]x2   
POL(>(x1, x2)) = [-1]   
POL(-(x1, x2)) = x1 + [-1]x2   
POL(1) = [1]   

The following pairs are in P>:

COND_33_0_<INIT>_INVOKEMETHOD(TRUE, x0[1]) → 33_0_<INIT>_INVOKEMETHOD(-(x0[1], 1))

The following pairs are in Pbound:

33_0_<INIT>_INVOKEMETHOD(x0[0]) → COND_33_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])

The following pairs are in P:

33_0_<INIT>_INVOKEMETHOD(x0[0]) → COND_33_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])

There are no usable rules.

(16) Complex Obligation (AND)

(17) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


The ITRS R consists of the following rules:
79_1_<init>_InvokeMethod(42_0_<init>_Return, 0) → 144_0_<init>_Return
79_1_<init>_InvokeMethod(144_0_<init>_Return, x0) → 144_0_<init>_Return

The integer pair graph contains the following rules and edges:
(0): 33_0_<INIT>_INVOKEMETHOD(x0[0]) → COND_33_0_<INIT>_INVOKEMETHOD(x0[0] > 0, x0[0])


The set Q consists of the following terms:
79_1_<init>_InvokeMethod(42_0_<init>_Return, 0)
79_1_<init>_InvokeMethod(144_0_<init>_Return, x0)

(18) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(19) TRUE

(20) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


The ITRS R consists of the following rules:
79_1_<init>_InvokeMethod(42_0_<init>_Return, 0) → 144_0_<init>_Return
79_1_<init>_InvokeMethod(144_0_<init>_Return, x0) → 144_0_<init>_Return

The integer pair graph contains the following rules and edges:
(1): COND_33_0_<INIT>_INVOKEMETHOD(TRUE, x0[1]) → 33_0_<INIT>_INVOKEMETHOD(x0[1] - 1)


The set Q consists of the following terms:
79_1_<init>_InvokeMethod(42_0_<init>_Return, 0)
79_1_<init>_InvokeMethod(144_0_<init>_Return, x0)

(21) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(22) TRUE

(23) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
11011_0_length_Load(NULL) → 11019_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
11011_0_length_Load(NULL) → 11068_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
11011_0_length_Load(NULL) → 11126_0_length_Return
11011_0_length_Load(NULL) → 11286_0_length_Return
11011_0_length_Load(NULL) → 10828_0_length_Return
11011_0_length_Load(NULL) → 10882_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
11011_0_length_Load(NULL) → 11502_0_length_Return
11011_0_length_Load(NULL) → 10912_0_length_Return
11011_0_length_Load(NULL) → 11350_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
11011_0_length_Load(NULL) → 10938_0_length_Return
11011_0_length_Load(NULL) → 11377_0_length_Return
11011_0_length_Load(NULL) → 11571_0_length_Return
9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9755_1_main_InvokeMethod(9696_0_length_Return, NULL) → 9955_0_main_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(x0 > 0, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
Cond_9806_1_length_InvokeMethod(TRUE, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(1 + x0)
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(1 > 0, 9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(TRUE, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(1 + 1)

The integer pair graph contains the following rules and edges:
(0): 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[0]), x2[0], x1[0])
(1): 9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[1]), x1[1])
(2): 9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(x0[2] >= 1 && 0 < x0[2] * 5 && 0 < 0 + x0[2] * 5, 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
(3): COND_9755_1_MAIN_INVOKEMETHOD(TRUE, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
(4): 9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(0 < 1 * 5 && 0 < 0 + 1 * 5, 9914_0_length_Return, java.lang.Object(List(NULL)))
(5): COND_9755_1_MAIN_INVOKEMETHOD1(TRUE, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
(6): 10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
(7): 10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
(8): 11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(1 >= 0, 9914_0_length_Return, java.lang.Object(List(NULL)))
(9): COND_11011_1_MAIN_INVOKEMETHOD(TRUE, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
(10): 11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(x0[10] >= 0, 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
(11): COND_11011_1_MAIN_INVOKEMETHOD1(TRUE, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
(12): 9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(x0[12] > 0, 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
(13): COND_9660_1_MAIN_INVOKEMETHOD(TRUE, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), 0 + x0[13], x2[13])
(14): 9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(1 > 0, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
(15): COND_9660_1_MAIN_INVOKEMETHOD1(TRUE, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[15]), java.lang.Object(List(NULL)), 0 + 1, x1[15])
(16): 10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(x2[16] > 0 && 0 < x2[16] + 0, 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
(17): COND_10385_1_MAIN_INVOKEMETHOD(TRUE, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
(18): 10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
(19): 11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), 1)
(20): 11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
(21): 11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(x2[21] > 0, 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
(22): COND_11223_1_MAIN_INVOKEMETHOD(TRUE, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x1[22], NULL, NULL)
(23): 10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(x2[23] > 0 && 0 < x2[23] + 1 * 5, 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
(24): COND_10385_1_MAIN_INVOKEMETHOD1(TRUE, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
(25): 10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(x3[25] > 0 && 0 < x3[25] + x0[25] * 5, 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
(26): COND_10385_1_MAIN_INVOKEMETHOD2(TRUE, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
(27): 10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
(28): 11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), 1, java.lang.Object(List(x1[28])))
(29): 11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
(30): 11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], 1)
(31): 11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
(32): 11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(x3[32] >= x2[32], java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
(33): COND_11339_0_MAIN_LE(TRUE, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
(34): 11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(x3[34] < x2[34], java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
(35): COND_11339_0_MAIN_LE1(TRUE, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
(36): 9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
(37): 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], 1, x1[37])
(38): 10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(x3[38] > 0, 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
(39): COND_10323_1_MAIN_INVOKEMETHOD(TRUE, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), x3[39] + 0, x2[39])
(40): 10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(x2[40] > 0 && 0 < x2[40] + 0, 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
(41): COND_10450_1_MAIN_INVOKEMETHOD(TRUE, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
(42): 10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(1 = 1 % 2, 9914_0_length_Return, java.lang.Object(List(NULL)))
(43): COND_10822_1_MAIN_INVOKEMETHOD(TRUE, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
(44): 10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(1 = x0[44] % 2, 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
(45): COND_10822_1_MAIN_INVOKEMETHOD1(TRUE, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
(46): 10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(x2[46] > 0 && 0 < x2[46] + 1 * 5, 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
(47): COND_10450_1_MAIN_INVOKEMETHOD1(TRUE, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
(48): 10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(x3[48] > 0 && 0 < x3[48] + x0[48] * 5, 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
(49): COND_10450_1_MAIN_INVOKEMETHOD2(TRUE, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
(50): 10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), 1 % 2)
(51): 10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), x0[51] % 2)
(52): 11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(!(x2[52] = 1), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
(53): COND_11113_0_MAIN_NE(TRUE, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
(54): 11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
(55): 11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(!(x2[55] = 1), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
(56): COND_11113_0_MAIN_NE1(TRUE, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
(57): 11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
(58): 11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(1 >= 0, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
(59): COND_11496_1_MAIN_INVOKEMETHOD(TRUE, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
(60): 11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(x0[60] >= 0, 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
(61): COND_11496_1_MAIN_INVOKEMETHOD1(TRUE, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
(62): 11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), 1) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
(63): 10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(x3[63] > 0, 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
(64): COND_10323_1_MAIN_INVOKEMETHOD1(TRUE, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), x3[64] + 1, x2[64])
(65): 10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(x4[65] > 0, 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
(66): COND_10323_1_MAIN_INVOKEMETHOD2(TRUE, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), x4[66] + x0[66], x3[66])
(67): 10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(0 < x3[67] + 0, 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
(68): COND_10472_1_MAIN_INVOKEMETHOD(TRUE, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
(69): 10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), 1 % 2)
(70): 10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), x0[70] % 2)
(71): 11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(!(x2[71] = 1), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
(72): COND_11153_0_MAIN_NE(TRUE, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
(73): 11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
(74): 11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(!(x2[74] = 1), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
(75): COND_11153_0_MAIN_NE1(TRUE, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
(76): 11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), 1)
(77): 11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
(78): 11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(x3[78] > 0, 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
(79): COND_11545_1_MAIN_INVOKEMETHOD(TRUE, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
(80): 11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), 1) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
(81): 10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(0 < x3[81] + 1 * 5, 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
(82): COND_10472_1_MAIN_INVOKEMETHOD1(TRUE, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
(83): 10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(0 < x4[83] + x0[83] * 5, 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
(84): COND_10472_1_MAIN_INVOKEMETHOD2(TRUE, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
(85): 10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), 1 % 2)
(86): 10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), x0[86] % 2)
(87): 11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(!(x3[87] = 1), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
(88): COND_11160_0_MAIN_NE(TRUE, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
(89): 11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
(90): 11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(!(x3[90] = 1), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
(91): COND_11160_0_MAIN_NE1(TRUE, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
(92): 11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), 1, java.lang.Object(List(x2[92])))
(93): 11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
(94): 11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], 1)
(95): 11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
(96): 11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(x4[96] >= x3[96], java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
(97): COND_11656_0_MAIN_LE(TRUE, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
(98): 11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(x4[98] < x3[98], java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
(99): COND_11656_0_MAIN_LE1(TRUE, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
(100): 11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), 1) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])

(0) -> (1), if ((9571_0_length_Load(x1[0]) →* 9696_0_length_Return)∧(x2[0]* x1[1])∧(x1[0]* NULL))


(0) -> (12), if ((9571_0_length_Load(x1[0]) →* 10322_0_length_Return(x0[12]))∧(x2[0]* x2[12])∧(x1[0]* java.lang.Object(List(java.lang.Object(List(x1[12]))))))


(0) -> (14), if ((9571_0_length_Load(x1[0]) →* 9914_0_length_Return)∧(x2[0]* x1[14])∧(x1[0]* java.lang.Object(List(NULL))))


(1) -> (2), if ((9571_0_length_Load(x1[1]) →* 10322_0_length_Return(x0[2]))∧(x1[1]* java.lang.Object(List(java.lang.Object(List(x1[2]))))))


(1) -> (4), if ((9571_0_length_Load(x1[1]) →* 9914_0_length_Return)∧(x1[1]* java.lang.Object(List(NULL))))


(2) -> (3), if ((x0[2] >= 1 && 0 < x0[2] * 5 && 0 < 0 + x0[2] * 5* TRUE)∧(10322_0_length_Return(x0[2]) →* 10322_0_length_Return(x0[3]))∧(java.lang.Object(List(java.lang.Object(List(x1[2])))) →* java.lang.Object(List(java.lang.Object(List(x1[3]))))))


(3) -> (6), if ((10467_0_length_Load* 9696_0_length_Return)∧(java.lang.Object(List(java.lang.Object(List(x1[3])))) →* java.lang.Object(List(x1[6]))))


(4) -> (5), if (0 < 1 * 5 && 0 < 0 + 1 * 5* TRUE)


(5) -> (6), if ((10467_0_length_Load* 9696_0_length_Return)∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x1[6]))))


(6) -> (7), if ((10467_0_length_Load* 9696_0_length_Return)∧(java.lang.Object(List(x1[6])) →* java.lang.Object(List(x1[7]))))


(7) -> (8), if ((11011_0_length_Load(java.lang.Object(List(x1[7]))) →* 9914_0_length_Return)∧(java.lang.Object(List(x1[7])) →* java.lang.Object(List(NULL))))


(7) -> (10), if ((11011_0_length_Load(java.lang.Object(List(x1[7]))) →* 10322_0_length_Return(x0[10]))∧(java.lang.Object(List(x1[7])) →* java.lang.Object(List(java.lang.Object(List(x1[10]))))))


(8) -> (9), if (1 >= 0* TRUE)


(9) -> (0), if ((9571_0_length_Load(java.lang.Object(List(NULL))) →* 9696_0_length_Return)∧(java.lang.Object(List(NULL)) →* x1[0])∧(NULL* x2[0])∧(java.lang.Object(List(NULL)) →* NULL))


(9) -> (36), if ((9571_0_length_Load(java.lang.Object(List(NULL))) →* 10322_0_length_Return(x0[36]))∧(java.lang.Object(List(NULL)) →* x2[36])∧(NULL* x3[36])∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(java.lang.Object(List(x1[36]))))))


(9) -> (37), if ((9571_0_length_Load(java.lang.Object(List(NULL))) →* 9914_0_length_Return)∧(java.lang.Object(List(NULL)) →* x1[37])∧(NULL* x2[37]))


(10) -> (11), if ((x0[10] >= 0* TRUE)∧(10322_0_length_Return(x0[10]) →* 10322_0_length_Return(x0[11]))∧(java.lang.Object(List(java.lang.Object(List(x1[10])))) →* java.lang.Object(List(java.lang.Object(List(x1[11]))))))


(11) -> (0), if ((9571_0_length_Load(java.lang.Object(List(NULL))) →* 9696_0_length_Return)∧(java.lang.Object(List(NULL)) →* x1[0])∧(java.lang.Object(List(x1[11])) →* x2[0])∧(java.lang.Object(List(NULL)) →* NULL))


(11) -> (36), if ((9571_0_length_Load(java.lang.Object(List(NULL))) →* 10322_0_length_Return(x0[36]))∧(java.lang.Object(List(NULL)) →* x2[36])∧(java.lang.Object(List(x1[11])) →* x3[36])∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(java.lang.Object(List(x1[36]))))))


(11) -> (37), if ((9571_0_length_Load(java.lang.Object(List(NULL))) →* 9914_0_length_Return)∧(java.lang.Object(List(NULL)) →* x1[37])∧(java.lang.Object(List(x1[11])) →* x2[37]))


(12) -> (13), if ((x0[12] > 0* TRUE)∧(10322_0_length_Return(x0[12]) →* 10322_0_length_Return(x0[13]))∧(x2[12]* x2[13])∧(java.lang.Object(List(java.lang.Object(List(x1[12])))) →* java.lang.Object(List(java.lang.Object(List(x1[13]))))))


(13) -> (16), if ((9571_0_length_Load(x2[13]) →* 9696_0_length_Return)∧(java.lang.Object(List(java.lang.Object(List(x1[13])))) →* java.lang.Object(List(x1[16])))∧(0 + x0[13]* x2[16])∧(x2[13]* NULL))


(13) -> (23), if ((9571_0_length_Load(x2[13]) →* 9914_0_length_Return)∧(java.lang.Object(List(java.lang.Object(List(x1[13])))) →* java.lang.Object(List(x1[23])))∧(0 + x0[13]* x2[23])∧(x2[13]* java.lang.Object(List(NULL))))


(13) -> (25), if ((9571_0_length_Load(x2[13]) →* 10322_0_length_Return(x0[25]))∧(java.lang.Object(List(java.lang.Object(List(x1[13])))) →* java.lang.Object(List(x1[25])))∧(0 + x0[13]* x3[25])∧(x2[13]* java.lang.Object(List(java.lang.Object(List(x2[25]))))))


(14) -> (15), if ((1 > 0* TRUE)∧(x1[14]* x1[15]))


(15) -> (16), if ((9571_0_length_Load(x1[15]) →* 9696_0_length_Return)∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x1[16])))∧(0 + 1* x2[16])∧(x1[15]* NULL))


(15) -> (23), if ((9571_0_length_Load(x1[15]) →* 9914_0_length_Return)∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x1[23])))∧(0 + 1* x2[23])∧(x1[15]* java.lang.Object(List(NULL))))


(15) -> (25), if ((9571_0_length_Load(x1[15]) →* 10322_0_length_Return(x0[25]))∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x1[25])))∧(0 + 1* x3[25])∧(x1[15]* java.lang.Object(List(java.lang.Object(List(x2[25]))))))


(16) -> (17), if ((x2[16] > 0 && 0 < x2[16] + 0* TRUE)∧(java.lang.Object(List(x1[16])) →* java.lang.Object(List(x1[17])))∧(x2[16]* x2[17]))


(17) -> (18), if ((10467_0_length_Load* 9696_0_length_Return)∧(java.lang.Object(List(x1[17])) →* java.lang.Object(List(x1[18]))))


(18) -> (19), if ((11011_0_length_Load(java.lang.Object(List(x1[18]))) →* 9914_0_length_Return)∧(java.lang.Object(List(x1[18])) →* java.lang.Object(List(NULL))))


(18) -> (20), if ((11011_0_length_Load(java.lang.Object(List(x1[18]))) →* 10322_0_length_Return(x0[20]))∧(java.lang.Object(List(x1[18])) →* java.lang.Object(List(java.lang.Object(List(x1[20]))))))


(19) -> (21), if ((10467_0_length_Load* 9696_0_length_Return)∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x1[21])))∧(1* x2[21]))


(20) -> (21), if ((10467_0_length_Load* 9696_0_length_Return)∧(java.lang.Object(List(java.lang.Object(List(x1[20])))) →* java.lang.Object(List(x1[21])))∧(x0[20]* x2[21]))


(21) -> (22), if ((x2[21] > 0* TRUE)∧(java.lang.Object(List(x1[21])) →* java.lang.Object(List(x1[22])))∧(x2[21]* x2[22]))


(22) -> (0), if ((9571_0_length_Load(NULL) →* 9696_0_length_Return)∧(x1[22]* x1[0])∧(NULL* x2[0]))


(22) -> (36), if ((9571_0_length_Load(NULL) →* 10322_0_length_Return(x0[36]))∧(x1[22]* x2[36])∧(NULL* x3[36])∧(NULL* java.lang.Object(List(java.lang.Object(List(x1[36]))))))


(22) -> (37), if ((9571_0_length_Load(NULL) →* 9914_0_length_Return)∧(x1[22]* x1[37])∧(NULL* x2[37])∧(NULL* java.lang.Object(List(NULL))))


(23) -> (24), if ((x2[23] > 0 && 0 < x2[23] + 1 * 5* TRUE)∧(java.lang.Object(List(x1[23])) →* java.lang.Object(List(x1[24])))∧(x2[23]* x2[24]))


(24) -> (27), if ((10467_0_length_Load* 9696_0_length_Return)∧(java.lang.Object(List(x1[24])) →* java.lang.Object(List(x1[27])))∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x2[27]))))


(25) -> (26), if ((x3[25] > 0 && 0 < x3[25] + x0[25] * 5* TRUE)∧(10322_0_length_Return(x0[25]) →* 10322_0_length_Return(x0[26]))∧(java.lang.Object(List(x1[25])) →* java.lang.Object(List(x1[26])))∧(x3[25]* x3[26])∧(java.lang.Object(List(java.lang.Object(List(x2[25])))) →* java.lang.Object(List(java.lang.Object(List(x2[26]))))))


(26) -> (27), if ((10467_0_length_Load* 9696_0_length_Return)∧(java.lang.Object(List(x1[26])) →* java.lang.Object(List(x1[27])))∧(java.lang.Object(List(java.lang.Object(List(x2[26])))) →* java.lang.Object(List(x2[27]))))


(27) -> (28), if ((11011_0_length_Load(java.lang.Object(List(x1[27]))) →* 9914_0_length_Return)∧(java.lang.Object(List(x2[27])) →* java.lang.Object(List(x1[28])))∧(java.lang.Object(List(x1[27])) →* java.lang.Object(List(NULL))))


(27) -> (29), if ((11011_0_length_Load(java.lang.Object(List(x1[27]))) →* 10322_0_length_Return(x0[29]))∧(java.lang.Object(List(x2[27])) →* java.lang.Object(List(x2[29])))∧(java.lang.Object(List(x1[27])) →* java.lang.Object(List(java.lang.Object(List(x1[29]))))))


(28) -> (30), if ((11011_0_length_Load(java.lang.Object(List(x1[28]))) →* 9914_0_length_Return)∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x1[30])))∧(1* x2[30])∧(java.lang.Object(List(x1[28])) →* java.lang.Object(List(NULL))))


(28) -> (31), if ((11011_0_length_Load(java.lang.Object(List(x1[28]))) →* 10322_0_length_Return(x0[31]))∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x1[31])))∧(1* x3[31])∧(java.lang.Object(List(x1[28])) →* java.lang.Object(List(java.lang.Object(List(x2[31]))))))


(29) -> (30), if ((11011_0_length_Load(java.lang.Object(List(x2[29]))) →* 9914_0_length_Return)∧(java.lang.Object(List(java.lang.Object(List(x1[29])))) →* java.lang.Object(List(x1[30])))∧(x0[29]* x2[30])∧(java.lang.Object(List(x2[29])) →* java.lang.Object(List(NULL))))


(29) -> (31), if ((11011_0_length_Load(java.lang.Object(List(x2[29]))) →* 10322_0_length_Return(x0[31]))∧(java.lang.Object(List(java.lang.Object(List(x1[29])))) →* java.lang.Object(List(x1[31])))∧(x0[29]* x3[31])∧(java.lang.Object(List(x2[29])) →* java.lang.Object(List(java.lang.Object(List(x2[31]))))))


(30) -> (32), if ((java.lang.Object(List(x1[30])) →* java.lang.Object(List(x0[32])))∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x1[32])))∧(x2[30]* x2[32])∧(1* x3[32]))


(30) -> (34), if ((java.lang.Object(List(x1[30])) →* java.lang.Object(List(x0[34])))∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x1[34])))∧(x2[30]* x2[34])∧(1* x3[34]))


(31) -> (32), if ((java.lang.Object(List(x1[31])) →* java.lang.Object(List(x0[32])))∧(java.lang.Object(List(java.lang.Object(List(x2[31])))) →* java.lang.Object(List(x1[32])))∧(x3[31]* x2[32])∧(x0[31]* x3[32]))


(31) -> (34), if ((java.lang.Object(List(x1[31])) →* java.lang.Object(List(x0[34])))∧(java.lang.Object(List(java.lang.Object(List(x2[31])))) →* java.lang.Object(List(x1[34])))∧(x3[31]* x2[34])∧(x0[31]* x3[34]))


(32) -> (33), if ((x3[32] >= x2[32]* TRUE)∧(java.lang.Object(List(x0[32])) →* java.lang.Object(List(x0[33])))∧(java.lang.Object(List(x1[32])) →* java.lang.Object(List(x1[33])))∧(x2[32]* x2[33])∧(x3[32]* x3[33]))


(33) -> (0), if ((9571_0_length_Load(java.lang.Object(List(NULL))) →* 9696_0_length_Return)∧(java.lang.Object(List(java.lang.Object(List(x0[33])))) →* x1[0])∧(x1[33]* x2[0])∧(java.lang.Object(List(NULL)) →* NULL))


(33) -> (36), if ((9571_0_length_Load(java.lang.Object(List(NULL))) →* 10322_0_length_Return(x0[36]))∧(java.lang.Object(List(java.lang.Object(List(x0[33])))) →* x2[36])∧(x1[33]* x3[36])∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(java.lang.Object(List(x1[36]))))))


(33) -> (37), if ((9571_0_length_Load(java.lang.Object(List(NULL))) →* 9914_0_length_Return)∧(java.lang.Object(List(java.lang.Object(List(x0[33])))) →* x1[37])∧(x1[33]* x2[37]))


(34) -> (35), if ((x3[34] < x2[34]* TRUE)∧(java.lang.Object(List(x0[34])) →* java.lang.Object(List(x0[35])))∧(java.lang.Object(List(x1[34])) →* java.lang.Object(List(x1[35])))∧(x2[34]* x2[35])∧(x3[34]* x3[35]))


(35) -> (0), if ((9571_0_length_Load(NULL) →* 9696_0_length_Return)∧(x0[35]* x1[0])∧(java.lang.Object(List(x1[35])) →* x2[0]))


(35) -> (36), if ((9571_0_length_Load(NULL) →* 10322_0_length_Return(x0[36]))∧(x0[35]* x2[36])∧(java.lang.Object(List(x1[35])) →* x3[36])∧(NULL* java.lang.Object(List(java.lang.Object(List(x1[36]))))))


(35) -> (37), if ((9571_0_length_Load(NULL) →* 9914_0_length_Return)∧(x0[35]* x1[37])∧(java.lang.Object(List(x1[35])) →* x2[37])∧(NULL* java.lang.Object(List(NULL))))


(36) -> (38), if ((9571_0_length_Load(x2[36]) →* 9696_0_length_Return)∧(java.lang.Object(List(java.lang.Object(List(x1[36])))) →* java.lang.Object(List(x1[38])))∧(x3[36]* x2[38])∧(x0[36]* x3[38])∧(x2[36]* NULL))


(36) -> (63), if ((9571_0_length_Load(x2[36]) →* 9914_0_length_Return)∧(java.lang.Object(List(java.lang.Object(List(x1[36])))) →* java.lang.Object(List(x1[63])))∧(x3[36]* x2[63])∧(x0[36]* x3[63])∧(x2[36]* java.lang.Object(List(NULL))))


(36) -> (65), if ((9571_0_length_Load(x2[36]) →* 10322_0_length_Return(x0[65]))∧(java.lang.Object(List(java.lang.Object(List(x1[36])))) →* java.lang.Object(List(x1[65])))∧(x3[36]* x3[65])∧(x0[36]* x4[65])∧(x2[36]* java.lang.Object(List(java.lang.Object(List(x2[65]))))))


(37) -> (38), if ((9571_0_length_Load(x1[37]) →* 9696_0_length_Return)∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x1[38])))∧(x2[37]* x2[38])∧(1* x3[38])∧(x1[37]* NULL))


(37) -> (63), if ((9571_0_length_Load(x1[37]) →* 9914_0_length_Return)∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x1[63])))∧(x2[37]* x2[63])∧(1* x3[63])∧(x1[37]* java.lang.Object(List(NULL))))


(37) -> (65), if ((9571_0_length_Load(x1[37]) →* 10322_0_length_Return(x0[65]))∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x1[65])))∧(x2[37]* x3[65])∧(1* x4[65])∧(x1[37]* java.lang.Object(List(java.lang.Object(List(x2[65]))))))


(38) -> (39), if ((x3[38] > 0* TRUE)∧(java.lang.Object(List(x1[38])) →* java.lang.Object(List(x1[39])))∧(x2[38]* x2[39])∧(x3[38]* x3[39]))


(39) -> (40), if ((9571_0_length_Load(x2[39]) →* 9696_0_length_Return)∧(java.lang.Object(List(x1[39])) →* java.lang.Object(List(x1[40])))∧(x3[39] + 0* x2[40])∧(x2[39]* NULL))


(39) -> (46), if ((9571_0_length_Load(x2[39]) →* 9914_0_length_Return)∧(java.lang.Object(List(x1[39])) →* java.lang.Object(List(x1[46])))∧(x3[39] + 0* x2[46])∧(x2[39]* java.lang.Object(List(NULL))))


(39) -> (48), if ((9571_0_length_Load(x2[39]) →* 10322_0_length_Return(x0[48]))∧(java.lang.Object(List(x1[39])) →* java.lang.Object(List(x1[48])))∧(x3[39] + 0* x3[48])∧(x2[39]* java.lang.Object(List(java.lang.Object(List(x2[48]))))))


(40) -> (41), if ((x2[40] > 0 && 0 < x2[40] + 0* TRUE)∧(java.lang.Object(List(x1[40])) →* java.lang.Object(List(x1[41])))∧(x2[40]* x2[41]))


(41) -> (42), if ((11011_0_length_Load(java.lang.Object(List(x1[41]))) →* 9914_0_length_Return)∧(java.lang.Object(List(x1[41])) →* java.lang.Object(List(NULL))))


(41) -> (44), if ((11011_0_length_Load(java.lang.Object(List(x1[41]))) →* 10322_0_length_Return(x0[44]))∧(java.lang.Object(List(x1[41])) →* java.lang.Object(List(java.lang.Object(List(x1[44]))))))


(42) -> (43), if (1 = 1 % 2* TRUE)


(43) -> (0), if ((9571_0_length_Load(NULL) →* 9696_0_length_Return)∧(NULL* x1[0])∧(NULL* x2[0]))


(43) -> (36), if ((9571_0_length_Load(NULL) →* 10322_0_length_Return(x0[36]))∧(NULL* x2[36])∧(NULL* x3[36])∧(NULL* java.lang.Object(List(java.lang.Object(List(x1[36]))))))


(43) -> (37), if ((9571_0_length_Load(NULL) →* 9914_0_length_Return)∧(NULL* x1[37])∧(NULL* x2[37])∧(NULL* java.lang.Object(List(NULL))))


(44) -> (45), if ((1 = x0[44] % 2* TRUE)∧(10322_0_length_Return(x0[44]) →* 10322_0_length_Return(x0[45]))∧(java.lang.Object(List(java.lang.Object(List(x1[44])))) →* java.lang.Object(List(java.lang.Object(List(x1[45]))))))


(45) -> (0), if ((9571_0_length_Load(java.lang.Object(List(x1[45]))) →* 9696_0_length_Return)∧(NULL* x1[0])∧(NULL* x2[0])∧(java.lang.Object(List(x1[45])) →* NULL))


(45) -> (36), if ((9571_0_length_Load(java.lang.Object(List(x1[45]))) →* 10322_0_length_Return(x0[36]))∧(NULL* x2[36])∧(NULL* x3[36])∧(java.lang.Object(List(x1[45])) →* java.lang.Object(List(java.lang.Object(List(x1[36]))))))


(45) -> (37), if ((9571_0_length_Load(java.lang.Object(List(x1[45]))) →* 9914_0_length_Return)∧(NULL* x1[37])∧(NULL* x2[37])∧(java.lang.Object(List(x1[45])) →* java.lang.Object(List(NULL))))


(46) -> (47), if ((x2[46] > 0 && 0 < x2[46] + 1 * 5* TRUE)∧(java.lang.Object(List(x1[46])) →* java.lang.Object(List(x1[47])))∧(x2[46]* x2[47]))


(47) -> (50), if ((11011_0_length_Load(java.lang.Object(List(x1[47]))) →* 9914_0_length_Return)∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x1[50])))∧(java.lang.Object(List(x1[47])) →* java.lang.Object(List(NULL))))


(47) -> (51), if ((11011_0_length_Load(java.lang.Object(List(x1[47]))) →* 10322_0_length_Return(x0[51]))∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x2[51])))∧(java.lang.Object(List(x1[47])) →* java.lang.Object(List(java.lang.Object(List(x1[51]))))))


(48) -> (49), if ((x3[48] > 0 && 0 < x3[48] + x0[48] * 5* TRUE)∧(10322_0_length_Return(x0[48]) →* 10322_0_length_Return(x0[49]))∧(java.lang.Object(List(x1[48])) →* java.lang.Object(List(x1[49])))∧(x3[48]* x3[49])∧(java.lang.Object(List(java.lang.Object(List(x2[48])))) →* java.lang.Object(List(java.lang.Object(List(x2[49]))))))


(49) -> (50), if ((11011_0_length_Load(java.lang.Object(List(x1[49]))) →* 9914_0_length_Return)∧(java.lang.Object(List(java.lang.Object(List(x2[49])))) →* java.lang.Object(List(x1[50])))∧(java.lang.Object(List(x1[49])) →* java.lang.Object(List(NULL))))


(49) -> (51), if ((11011_0_length_Load(java.lang.Object(List(x1[49]))) →* 10322_0_length_Return(x0[51]))∧(java.lang.Object(List(java.lang.Object(List(x2[49])))) →* java.lang.Object(List(x2[51])))∧(java.lang.Object(List(x1[49])) →* java.lang.Object(List(java.lang.Object(List(x1[51]))))))


(50) -> (52), if ((java.lang.Object(List(NULL)) →* java.lang.Object(List(x0[52])))∧(java.lang.Object(List(x1[50])) →* java.lang.Object(List(x1[52])))∧(1 % 2* x2[52]))


(50) -> (55), if ((java.lang.Object(List(NULL)) →* java.lang.Object(List(x0[55])))∧(java.lang.Object(List(x1[50])) →* java.lang.Object(List(x1[55])))∧(1 % 2* x2[55]))


(50) -> (62), if ((java.lang.Object(List(NULL)) →* java.lang.Object(List(x0[62])))∧(java.lang.Object(List(x1[50])) →* java.lang.Object(List(x1[62])))∧(1 % 2* 1))


(51) -> (52), if ((java.lang.Object(List(java.lang.Object(List(x1[51])))) →* java.lang.Object(List(x0[52])))∧(java.lang.Object(List(x2[51])) →* java.lang.Object(List(x1[52])))∧(x0[51] % 2* x2[52]))


(51) -> (55), if ((java.lang.Object(List(java.lang.Object(List(x1[51])))) →* java.lang.Object(List(x0[55])))∧(java.lang.Object(List(x2[51])) →* java.lang.Object(List(x1[55])))∧(x0[51] % 2* x2[55]))


(51) -> (62), if ((java.lang.Object(List(java.lang.Object(List(x1[51])))) →* java.lang.Object(List(x0[62])))∧(java.lang.Object(List(x2[51])) →* java.lang.Object(List(x1[62])))∧(x0[51] % 2* 1))


(52) -> (53), if ((!(x2[52] = 1) →* TRUE)∧(java.lang.Object(List(x0[52])) →* java.lang.Object(List(x0[53])))∧(java.lang.Object(List(x1[52])) →* java.lang.Object(List(x1[53])))∧(x2[52]* x2[53]))


(53) -> (54), if ((java.lang.Object(List(x0[53])) →* java.lang.Object(List(x0[54])))∧(java.lang.Object(List(x1[53])) →* java.lang.Object(List(x1[54]))))


(54) -> (57), if ((10467_0_length_Load* 9696_0_length_Return)∧(java.lang.Object(List(x0[54])) →* java.lang.Object(List(x1[57])))∧(java.lang.Object(List(x1[54])) →* java.lang.Object(List(x2[57]))))


(55) -> (56), if ((!(x2[55] = 1) →* TRUE)∧(java.lang.Object(List(x0[55])) →* java.lang.Object(List(x0[56])))∧(java.lang.Object(List(x1[55])) →* java.lang.Object(List(x1[56])))∧(x2[55]* x2[56]))


(56) -> (57), if ((10467_0_length_Load* 9696_0_length_Return)∧(java.lang.Object(List(x0[56])) →* java.lang.Object(List(x1[57])))∧(java.lang.Object(List(x1[56])) →* java.lang.Object(List(x2[57]))))


(57) -> (58), if ((11011_0_length_Load(java.lang.Object(List(x2[57]))) →* 9914_0_length_Return)∧(java.lang.Object(List(x1[57])) →* java.lang.Object(List(x1[58])))∧(java.lang.Object(List(x2[57])) →* java.lang.Object(List(NULL))))


(57) -> (60), if ((11011_0_length_Load(java.lang.Object(List(x2[57]))) →* 10322_0_length_Return(x0[60]))∧(java.lang.Object(List(x1[57])) →* java.lang.Object(List(x1[60])))∧(java.lang.Object(List(x2[57])) →* java.lang.Object(List(java.lang.Object(List(x2[60]))))))


(58) -> (59), if ((1 >= 0* TRUE)∧(java.lang.Object(List(x1[58])) →* java.lang.Object(List(x1[59]))))


(59) -> (0), if ((9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))) →* 9696_0_length_Return)∧(java.lang.Object(List(NULL)) →* x1[0])∧(NULL* x2[0])∧(java.lang.Object(List(java.lang.Object(List(x1[59])))) →* NULL))


(59) -> (36), if ((9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))) →* 10322_0_length_Return(x0[36]))∧(java.lang.Object(List(NULL)) →* x2[36])∧(NULL* x3[36])∧(java.lang.Object(List(java.lang.Object(List(x1[59])))) →* java.lang.Object(List(java.lang.Object(List(x1[36]))))))


(59) -> (37), if ((9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))) →* 9914_0_length_Return)∧(java.lang.Object(List(NULL)) →* x1[37])∧(NULL* x2[37])∧(java.lang.Object(List(java.lang.Object(List(x1[59])))) →* java.lang.Object(List(NULL))))


(60) -> (61), if ((x0[60] >= 0* TRUE)∧(10322_0_length_Return(x0[60]) →* 10322_0_length_Return(x0[61]))∧(java.lang.Object(List(x1[60])) →* java.lang.Object(List(x1[61])))∧(java.lang.Object(List(java.lang.Object(List(x2[60])))) →* java.lang.Object(List(java.lang.Object(List(x2[61]))))))


(61) -> (0), if ((9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))) →* 9696_0_length_Return)∧(java.lang.Object(List(NULL)) →* x1[0])∧(java.lang.Object(List(x2[61])) →* x2[0])∧(java.lang.Object(List(java.lang.Object(List(x1[61])))) →* NULL))


(61) -> (36), if ((9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))) →* 10322_0_length_Return(x0[36]))∧(java.lang.Object(List(NULL)) →* x2[36])∧(java.lang.Object(List(x2[61])) →* x3[36])∧(java.lang.Object(List(java.lang.Object(List(x1[61])))) →* java.lang.Object(List(java.lang.Object(List(x1[36]))))))


(61) -> (37), if ((9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))) →* 9914_0_length_Return)∧(java.lang.Object(List(NULL)) →* x1[37])∧(java.lang.Object(List(x2[61])) →* x2[37])∧(java.lang.Object(List(java.lang.Object(List(x1[61])))) →* java.lang.Object(List(NULL))))


(62) -> (0), if ((9571_0_length_Load(x0[62]) →* 9696_0_length_Return)∧(NULL* x1[0])∧(java.lang.Object(List(x1[62])) →* x2[0])∧(x0[62]* NULL))


(62) -> (36), if ((9571_0_length_Load(x0[62]) →* 10322_0_length_Return(x0[36]))∧(NULL* x2[36])∧(java.lang.Object(List(x1[62])) →* x3[36])∧(x0[62]* java.lang.Object(List(java.lang.Object(List(x1[36]))))))


(62) -> (37), if ((9571_0_length_Load(x0[62]) →* 9914_0_length_Return)∧(NULL* x1[37])∧(java.lang.Object(List(x1[62])) →* x2[37])∧(x0[62]* java.lang.Object(List(NULL))))


(63) -> (64), if ((x3[63] > 0* TRUE)∧(java.lang.Object(List(x1[63])) →* java.lang.Object(List(x1[64])))∧(x2[63]* x2[64])∧(x3[63]* x3[64]))


(64) -> (67), if ((9571_0_length_Load(x2[64]) →* 9696_0_length_Return)∧(java.lang.Object(List(x1[64])) →* java.lang.Object(List(x1[67])))∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x2[67])))∧(x3[64] + 1* x3[67])∧(x2[64]* NULL))


(64) -> (81), if ((9571_0_length_Load(x2[64]) →* 9914_0_length_Return)∧(java.lang.Object(List(x1[64])) →* java.lang.Object(List(x1[81])))∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x2[81])))∧(x3[64] + 1* x3[81])∧(x2[64]* java.lang.Object(List(NULL))))


(64) -> (83), if ((9571_0_length_Load(x2[64]) →* 10322_0_length_Return(x0[83]))∧(java.lang.Object(List(x1[64])) →* java.lang.Object(List(x1[83])))∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x2[83])))∧(x3[64] + 1* x4[83])∧(x2[64]* java.lang.Object(List(java.lang.Object(List(x3[83]))))))


(65) -> (66), if ((x4[65] > 0* TRUE)∧(10322_0_length_Return(x0[65]) →* 10322_0_length_Return(x0[66]))∧(java.lang.Object(List(x1[65])) →* java.lang.Object(List(x1[66])))∧(x3[65]* x3[66])∧(x4[65]* x4[66])∧(java.lang.Object(List(java.lang.Object(List(x2[65])))) →* java.lang.Object(List(java.lang.Object(List(x2[66]))))))


(66) -> (67), if ((9571_0_length_Load(x3[66]) →* 9696_0_length_Return)∧(java.lang.Object(List(x1[66])) →* java.lang.Object(List(x1[67])))∧(java.lang.Object(List(java.lang.Object(List(x2[66])))) →* java.lang.Object(List(x2[67])))∧(x4[66] + x0[66]* x3[67])∧(x3[66]* NULL))


(66) -> (81), if ((9571_0_length_Load(x3[66]) →* 9914_0_length_Return)∧(java.lang.Object(List(x1[66])) →* java.lang.Object(List(x1[81])))∧(java.lang.Object(List(java.lang.Object(List(x2[66])))) →* java.lang.Object(List(x2[81])))∧(x4[66] + x0[66]* x3[81])∧(x3[66]* java.lang.Object(List(NULL))))


(66) -> (83), if ((9571_0_length_Load(x3[66]) →* 10322_0_length_Return(x0[83]))∧(java.lang.Object(List(x1[66])) →* java.lang.Object(List(x1[83])))∧(java.lang.Object(List(java.lang.Object(List(x2[66])))) →* java.lang.Object(List(x2[83])))∧(x4[66] + x0[66]* x4[83])∧(x3[66]* java.lang.Object(List(java.lang.Object(List(x3[83]))))))


(67) -> (68), if ((0 < x3[67] + 0* TRUE)∧(java.lang.Object(List(x1[67])) →* java.lang.Object(List(x1[68])))∧(java.lang.Object(List(x2[67])) →* java.lang.Object(List(x2[68])))∧(x3[67]* x3[68]))


(68) -> (69), if ((11011_0_length_Load(java.lang.Object(List(x1[68]))) →* 9914_0_length_Return)∧(java.lang.Object(List(x2[68])) →* java.lang.Object(List(x1[69])))∧(java.lang.Object(List(x1[68])) →* java.lang.Object(List(NULL))))


(68) -> (70), if ((11011_0_length_Load(java.lang.Object(List(x1[68]))) →* 10322_0_length_Return(x0[70]))∧(java.lang.Object(List(x2[68])) →* java.lang.Object(List(x2[70])))∧(java.lang.Object(List(x1[68])) →* java.lang.Object(List(java.lang.Object(List(x1[70]))))))


(69) -> (71), if ((java.lang.Object(List(NULL)) →* java.lang.Object(List(x0[71])))∧(java.lang.Object(List(x1[69])) →* java.lang.Object(List(x1[71])))∧(1 % 2* x2[71]))


(69) -> (74), if ((java.lang.Object(List(NULL)) →* java.lang.Object(List(x0[74])))∧(java.lang.Object(List(x1[69])) →* java.lang.Object(List(x1[74])))∧(1 % 2* x2[74]))


(69) -> (80), if ((java.lang.Object(List(NULL)) →* java.lang.Object(List(x0[80])))∧(java.lang.Object(List(x1[69])) →* java.lang.Object(List(x1[80])))∧(1 % 2* 1))


(70) -> (71), if ((java.lang.Object(List(java.lang.Object(List(x1[70])))) →* java.lang.Object(List(x0[71])))∧(java.lang.Object(List(x2[70])) →* java.lang.Object(List(x1[71])))∧(x0[70] % 2* x2[71]))


(70) -> (74), if ((java.lang.Object(List(java.lang.Object(List(x1[70])))) →* java.lang.Object(List(x0[74])))∧(java.lang.Object(List(x2[70])) →* java.lang.Object(List(x1[74])))∧(x0[70] % 2* x2[74]))


(70) -> (80), if ((java.lang.Object(List(java.lang.Object(List(x1[70])))) →* java.lang.Object(List(x0[80])))∧(java.lang.Object(List(x2[70])) →* java.lang.Object(List(x1[80])))∧(x0[70] % 2* 1))


(71) -> (72), if ((!(x2[71] = 1) →* TRUE)∧(java.lang.Object(List(x0[71])) →* java.lang.Object(List(x0[72])))∧(java.lang.Object(List(x1[71])) →* java.lang.Object(List(x1[72])))∧(x2[71]* x2[72]))


(72) -> (73), if ((java.lang.Object(List(x0[72])) →* java.lang.Object(List(x0[73])))∧(java.lang.Object(List(x1[72])) →* java.lang.Object(List(x1[73]))))


(73) -> (76), if ((11011_0_length_Load(java.lang.Object(List(x1[73]))) →* 9914_0_length_Return)∧(java.lang.Object(List(x0[73])) →* java.lang.Object(List(x1[76])))∧(java.lang.Object(List(x1[73])) →* java.lang.Object(List(NULL))))


(73) -> (77), if ((11011_0_length_Load(java.lang.Object(List(x1[73]))) →* 10322_0_length_Return(x0[77]))∧(java.lang.Object(List(x0[73])) →* java.lang.Object(List(x1[77])))∧(java.lang.Object(List(x1[73])) →* java.lang.Object(List(java.lang.Object(List(x2[77]))))))


(74) -> (75), if ((!(x2[74] = 1) →* TRUE)∧(java.lang.Object(List(x0[74])) →* java.lang.Object(List(x0[75])))∧(java.lang.Object(List(x1[74])) →* java.lang.Object(List(x1[75])))∧(x2[74]* x2[75]))


(75) -> (76), if ((11011_0_length_Load(java.lang.Object(List(x1[75]))) →* 9914_0_length_Return)∧(java.lang.Object(List(x0[75])) →* java.lang.Object(List(x1[76])))∧(java.lang.Object(List(x1[75])) →* java.lang.Object(List(NULL))))


(75) -> (77), if ((11011_0_length_Load(java.lang.Object(List(x1[75]))) →* 10322_0_length_Return(x0[77]))∧(java.lang.Object(List(x0[75])) →* java.lang.Object(List(x1[77])))∧(java.lang.Object(List(x1[75])) →* java.lang.Object(List(java.lang.Object(List(x2[77]))))))


(76) -> (78), if ((10467_0_length_Load* 9696_0_length_Return)∧(java.lang.Object(List(x1[76])) →* java.lang.Object(List(x1[78])))∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x2[78])))∧(1* x3[78]))


(77) -> (78), if ((10467_0_length_Load* 9696_0_length_Return)∧(java.lang.Object(List(x1[77])) →* java.lang.Object(List(x1[78])))∧(java.lang.Object(List(java.lang.Object(List(x2[77])))) →* java.lang.Object(List(x2[78])))∧(x0[77]* x3[78]))


(78) -> (79), if ((x3[78] > 0* TRUE)∧(java.lang.Object(List(x1[78])) →* java.lang.Object(List(x1[79])))∧(java.lang.Object(List(x2[78])) →* java.lang.Object(List(x2[79])))∧(x3[78]* x3[79]))


(79) -> (0), if ((9571_0_length_Load(java.lang.Object(List(x1[79]))) →* 9696_0_length_Return)∧(x2[79]* x1[0])∧(NULL* x2[0])∧(java.lang.Object(List(x1[79])) →* NULL))


(79) -> (36), if ((9571_0_length_Load(java.lang.Object(List(x1[79]))) →* 10322_0_length_Return(x0[36]))∧(x2[79]* x2[36])∧(NULL* x3[36])∧(java.lang.Object(List(x1[79])) →* java.lang.Object(List(java.lang.Object(List(x1[36]))))))


(79) -> (37), if ((9571_0_length_Load(java.lang.Object(List(x1[79]))) →* 9914_0_length_Return)∧(x2[79]* x1[37])∧(NULL* x2[37])∧(java.lang.Object(List(x1[79])) →* java.lang.Object(List(NULL))))


(80) -> (0), if ((9571_0_length_Load(x0[80]) →* 9696_0_length_Return)∧(java.lang.Object(List(x1[80])) →* x1[0])∧(NULL* x2[0])∧(x0[80]* NULL))


(80) -> (36), if ((9571_0_length_Load(x0[80]) →* 10322_0_length_Return(x0[36]))∧(java.lang.Object(List(x1[80])) →* x2[36])∧(NULL* x3[36])∧(x0[80]* java.lang.Object(List(java.lang.Object(List(x1[36]))))))


(80) -> (37), if ((9571_0_length_Load(x0[80]) →* 9914_0_length_Return)∧(java.lang.Object(List(x1[80])) →* x1[37])∧(NULL* x2[37])∧(x0[80]* java.lang.Object(List(NULL))))


(81) -> (82), if ((0 < x3[81] + 1 * 5* TRUE)∧(java.lang.Object(List(x1[81])) →* java.lang.Object(List(x1[82])))∧(java.lang.Object(List(x2[81])) →* java.lang.Object(List(x2[82])))∧(x3[81]* x3[82]))


(82) -> (85), if ((11011_0_length_Load(java.lang.Object(List(x1[82]))) →* 9914_0_length_Return)∧(java.lang.Object(List(x2[82])) →* java.lang.Object(List(x1[85])))∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x2[85])))∧(java.lang.Object(List(x1[82])) →* java.lang.Object(List(NULL))))


(82) -> (86), if ((11011_0_length_Load(java.lang.Object(List(x1[82]))) →* 10322_0_length_Return(x0[86]))∧(java.lang.Object(List(x2[82])) →* java.lang.Object(List(x2[86])))∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x3[86])))∧(java.lang.Object(List(x1[82])) →* java.lang.Object(List(java.lang.Object(List(x1[86]))))))


(83) -> (84), if ((0 < x4[83] + x0[83] * 5* TRUE)∧(10322_0_length_Return(x0[83]) →* 10322_0_length_Return(x0[84]))∧(java.lang.Object(List(x1[83])) →* java.lang.Object(List(x1[84])))∧(java.lang.Object(List(x2[83])) →* java.lang.Object(List(x2[84])))∧(x4[83]* x4[84])∧(java.lang.Object(List(java.lang.Object(List(x3[83])))) →* java.lang.Object(List(java.lang.Object(List(x3[84]))))))


(84) -> (85), if ((11011_0_length_Load(java.lang.Object(List(x1[84]))) →* 9914_0_length_Return)∧(java.lang.Object(List(x2[84])) →* java.lang.Object(List(x1[85])))∧(java.lang.Object(List(java.lang.Object(List(x3[84])))) →* java.lang.Object(List(x2[85])))∧(java.lang.Object(List(x1[84])) →* java.lang.Object(List(NULL))))


(84) -> (86), if ((11011_0_length_Load(java.lang.Object(List(x1[84]))) →* 10322_0_length_Return(x0[86]))∧(java.lang.Object(List(x2[84])) →* java.lang.Object(List(x2[86])))∧(java.lang.Object(List(java.lang.Object(List(x3[84])))) →* java.lang.Object(List(x3[86])))∧(java.lang.Object(List(x1[84])) →* java.lang.Object(List(java.lang.Object(List(x1[86]))))))


(85) -> (87), if ((java.lang.Object(List(NULL)) →* java.lang.Object(List(x0[87])))∧(java.lang.Object(List(x1[85])) →* java.lang.Object(List(x1[87])))∧(java.lang.Object(List(x2[85])) →* java.lang.Object(List(x2[87])))∧(1 % 2* x3[87]))


(85) -> (90), if ((java.lang.Object(List(NULL)) →* java.lang.Object(List(x0[90])))∧(java.lang.Object(List(x1[85])) →* java.lang.Object(List(x1[90])))∧(java.lang.Object(List(x2[85])) →* java.lang.Object(List(x2[90])))∧(1 % 2* x3[90]))


(85) -> (100), if ((java.lang.Object(List(NULL)) →* java.lang.Object(List(x0[100])))∧(java.lang.Object(List(x1[85])) →* java.lang.Object(List(x1[100])))∧(java.lang.Object(List(x2[85])) →* java.lang.Object(List(x2[100])))∧(1 % 2* 1))


(86) -> (87), if ((java.lang.Object(List(java.lang.Object(List(x1[86])))) →* java.lang.Object(List(x0[87])))∧(java.lang.Object(List(x2[86])) →* java.lang.Object(List(x1[87])))∧(java.lang.Object(List(x3[86])) →* java.lang.Object(List(x2[87])))∧(x0[86] % 2* x3[87]))


(86) -> (90), if ((java.lang.Object(List(java.lang.Object(List(x1[86])))) →* java.lang.Object(List(x0[90])))∧(java.lang.Object(List(x2[86])) →* java.lang.Object(List(x1[90])))∧(java.lang.Object(List(x3[86])) →* java.lang.Object(List(x2[90])))∧(x0[86] % 2* x3[90]))


(86) -> (100), if ((java.lang.Object(List(java.lang.Object(List(x1[86])))) →* java.lang.Object(List(x0[100])))∧(java.lang.Object(List(x2[86])) →* java.lang.Object(List(x1[100])))∧(java.lang.Object(List(x3[86])) →* java.lang.Object(List(x2[100])))∧(x0[86] % 2* 1))


(87) -> (88), if ((!(x3[87] = 1) →* TRUE)∧(java.lang.Object(List(x0[87])) →* java.lang.Object(List(x0[88])))∧(java.lang.Object(List(x1[87])) →* java.lang.Object(List(x1[88])))∧(java.lang.Object(List(x2[87])) →* java.lang.Object(List(x2[88])))∧(x3[87]* x3[88]))


(88) -> (89), if ((java.lang.Object(List(x0[88])) →* java.lang.Object(List(x0[89])))∧(java.lang.Object(List(x1[88])) →* java.lang.Object(List(x1[89])))∧(java.lang.Object(List(x2[88])) →* java.lang.Object(List(x2[89]))))


(89) -> (92), if ((11011_0_length_Load(java.lang.Object(List(x1[89]))) →* 9914_0_length_Return)∧(java.lang.Object(List(x0[89])) →* java.lang.Object(List(x1[92])))∧(java.lang.Object(List(x2[89])) →* java.lang.Object(List(x2[92])))∧(java.lang.Object(List(x1[89])) →* java.lang.Object(List(NULL))))


(89) -> (93), if ((11011_0_length_Load(java.lang.Object(List(x1[89]))) →* 10322_0_length_Return(x0[93]))∧(java.lang.Object(List(x0[89])) →* java.lang.Object(List(x1[93])))∧(java.lang.Object(List(x2[89])) →* java.lang.Object(List(x3[93])))∧(java.lang.Object(List(x1[89])) →* java.lang.Object(List(java.lang.Object(List(x2[93]))))))


(90) -> (91), if ((!(x3[90] = 1) →* TRUE)∧(java.lang.Object(List(x0[90])) →* java.lang.Object(List(x0[91])))∧(java.lang.Object(List(x1[90])) →* java.lang.Object(List(x1[91])))∧(java.lang.Object(List(x2[90])) →* java.lang.Object(List(x2[91])))∧(x3[90]* x3[91]))


(91) -> (92), if ((11011_0_length_Load(java.lang.Object(List(x1[91]))) →* 9914_0_length_Return)∧(java.lang.Object(List(x0[91])) →* java.lang.Object(List(x1[92])))∧(java.lang.Object(List(x2[91])) →* java.lang.Object(List(x2[92])))∧(java.lang.Object(List(x1[91])) →* java.lang.Object(List(NULL))))


(91) -> (93), if ((11011_0_length_Load(java.lang.Object(List(x1[91]))) →* 10322_0_length_Return(x0[93]))∧(java.lang.Object(List(x0[91])) →* java.lang.Object(List(x1[93])))∧(java.lang.Object(List(x2[91])) →* java.lang.Object(List(x3[93])))∧(java.lang.Object(List(x1[91])) →* java.lang.Object(List(java.lang.Object(List(x2[93]))))))


(92) -> (94), if ((11011_0_length_Load(java.lang.Object(List(x2[92]))) →* 9914_0_length_Return)∧(java.lang.Object(List(x1[92])) →* java.lang.Object(List(x1[94])))∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x2[94])))∧(1* x3[94])∧(java.lang.Object(List(x2[92])) →* java.lang.Object(List(NULL))))


(92) -> (95), if ((11011_0_length_Load(java.lang.Object(List(x2[92]))) →* 10322_0_length_Return(x0[95]))∧(java.lang.Object(List(x1[92])) →* java.lang.Object(List(x1[95])))∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x2[95])))∧(1* x4[95])∧(java.lang.Object(List(x2[92])) →* java.lang.Object(List(java.lang.Object(List(x3[95]))))))


(93) -> (94), if ((11011_0_length_Load(java.lang.Object(List(x3[93]))) →* 9914_0_length_Return)∧(java.lang.Object(List(x1[93])) →* java.lang.Object(List(x1[94])))∧(java.lang.Object(List(java.lang.Object(List(x2[93])))) →* java.lang.Object(List(x2[94])))∧(x0[93]* x3[94])∧(java.lang.Object(List(x3[93])) →* java.lang.Object(List(NULL))))


(93) -> (95), if ((11011_0_length_Load(java.lang.Object(List(x3[93]))) →* 10322_0_length_Return(x0[95]))∧(java.lang.Object(List(x1[93])) →* java.lang.Object(List(x1[95])))∧(java.lang.Object(List(java.lang.Object(List(x2[93])))) →* java.lang.Object(List(x2[95])))∧(x0[93]* x4[95])∧(java.lang.Object(List(x3[93])) →* java.lang.Object(List(java.lang.Object(List(x3[95]))))))


(94) -> (96), if ((java.lang.Object(List(x1[94])) →* java.lang.Object(List(x0[96])))∧(java.lang.Object(List(x2[94])) →* java.lang.Object(List(x1[96])))∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x2[96])))∧(x3[94]* x3[96])∧(1* x4[96]))


(94) -> (98), if ((java.lang.Object(List(x1[94])) →* java.lang.Object(List(x0[98])))∧(java.lang.Object(List(x2[94])) →* java.lang.Object(List(x1[98])))∧(java.lang.Object(List(NULL)) →* java.lang.Object(List(x2[98])))∧(x3[94]* x3[98])∧(1* x4[98]))


(95) -> (96), if ((java.lang.Object(List(x1[95])) →* java.lang.Object(List(x0[96])))∧(java.lang.Object(List(x2[95])) →* java.lang.Object(List(x1[96])))∧(java.lang.Object(List(java.lang.Object(List(x3[95])))) →* java.lang.Object(List(x2[96])))∧(x4[95]* x3[96])∧(x0[95]* x4[96]))


(95) -> (98), if ((java.lang.Object(List(x1[95])) →* java.lang.Object(List(x0[98])))∧(java.lang.Object(List(x2[95])) →* java.lang.Object(List(x1[98])))∧(java.lang.Object(List(java.lang.Object(List(x3[95])))) →* java.lang.Object(List(x2[98])))∧(x4[95]* x3[98])∧(x0[95]* x4[98]))


(96) -> (97), if ((x4[96] >= x3[96]* TRUE)∧(java.lang.Object(List(x0[96])) →* java.lang.Object(List(x0[97])))∧(java.lang.Object(List(x1[96])) →* java.lang.Object(List(x1[97])))∧(java.lang.Object(List(x2[96])) →* java.lang.Object(List(x2[97])))∧(x3[96]* x3[97])∧(x4[96]* x4[97]))


(97) -> (0), if ((9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))) →* 9696_0_length_Return)∧(java.lang.Object(List(java.lang.Object(List(x1[97])))) →* x1[0])∧(x2[97]* x2[0])∧(java.lang.Object(List(java.lang.Object(List(x0[97])))) →* NULL))


(97) -> (36), if ((9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))) →* 10322_0_length_Return(x0[36]))∧(java.lang.Object(List(java.lang.Object(List(x1[97])))) →* x2[36])∧(x2[97]* x3[36])∧(java.lang.Object(List(java.lang.Object(List(x0[97])))) →* java.lang.Object(List(java.lang.Object(List(x1[36]))))))


(97) -> (37), if ((9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))) →* 9914_0_length_Return)∧(java.lang.Object(List(java.lang.Object(List(x1[97])))) →* x1[37])∧(x2[97]* x2[37])∧(java.lang.Object(List(java.lang.Object(List(x0[97])))) →* java.lang.Object(List(NULL))))


(98) -> (99), if ((x4[98] < x3[98]* TRUE)∧(java.lang.Object(List(x0[98])) →* java.lang.Object(List(x0[99])))∧(java.lang.Object(List(x1[98])) →* java.lang.Object(List(x1[99])))∧(java.lang.Object(List(x2[98])) →* java.lang.Object(List(x2[99])))∧(x3[98]* x3[99])∧(x4[98]* x4[99]))


(99) -> (0), if ((9571_0_length_Load(java.lang.Object(List(x0[99]))) →* 9696_0_length_Return)∧(x1[99]* x1[0])∧(java.lang.Object(List(x2[99])) →* x2[0])∧(java.lang.Object(List(x0[99])) →* NULL))


(99) -> (36), if ((9571_0_length_Load(java.lang.Object(List(x0[99]))) →* 10322_0_length_Return(x0[36]))∧(x1[99]* x2[36])∧(java.lang.Object(List(x2[99])) →* x3[36])∧(java.lang.Object(List(x0[99])) →* java.lang.Object(List(java.lang.Object(List(x1[36]))))))


(99) -> (37), if ((9571_0_length_Load(java.lang.Object(List(x0[99]))) →* 9914_0_length_Return)∧(x1[99]* x1[37])∧(java.lang.Object(List(x2[99])) →* x2[37])∧(java.lang.Object(List(x0[99])) →* java.lang.Object(List(NULL))))


(100) -> (0), if ((9571_0_length_Load(x0[100]) →* 9696_0_length_Return)∧(java.lang.Object(List(x1[100])) →* x1[0])∧(java.lang.Object(List(x2[100])) →* x2[0])∧(x0[100]* NULL))


(100) -> (36), if ((9571_0_length_Load(x0[100]) →* 10322_0_length_Return(x0[36]))∧(java.lang.Object(List(x1[100])) →* x2[36])∧(java.lang.Object(List(x2[100])) →* x3[36])∧(x0[100]* java.lang.Object(List(java.lang.Object(List(x1[36]))))))


(100) -> (37), if ((9571_0_length_Load(x0[100]) →* 9914_0_length_Return)∧(java.lang.Object(List(x1[100])) →* x1[37])∧(java.lang.Object(List(x2[100])) →* x2[37])∧(x0[100]* java.lang.Object(List(NULL))))



The set Q consists of the following terms:
10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
9755_1_main_InvokeMethod(9696_0_length_Return, NULL)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(TRUE, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(TRUE, 9914_0_length_Return, java.lang.Object(List(NULL)))

(24) IDPtoQDPProof (SOUND transformation)

Represented integers and predefined function symbols by Terms

(25) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])

The TRS R consists of the following rules:

10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
11011_0_length_Load(NULL) → 11019_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
11011_0_length_Load(NULL) → 11068_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
11011_0_length_Load(NULL) → 11126_0_length_Return
11011_0_length_Load(NULL) → 11286_0_length_Return
11011_0_length_Load(NULL) → 10828_0_length_Return
11011_0_length_Load(NULL) → 10882_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
11011_0_length_Load(NULL) → 11502_0_length_Return
11011_0_length_Load(NULL) → 10912_0_length_Return
11011_0_length_Load(NULL) → 11350_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
11011_0_length_Load(NULL) → 10938_0_length_Return
11011_0_length_Load(NULL) → 11377_0_length_Return
11011_0_length_Load(NULL) → 11571_0_length_Return
9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9755_1_main_InvokeMethod(9696_0_length_Return, NULL) → 9955_0_main_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
greater_int(pos(01), pos(01)) → false
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), pos(01)) → true
greater_int(neg(s(x)), pos(01)) → false
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
mult_int(neg(x), pos(y)) → neg(mult_nat(x, y))
mult_int(neg(x), neg(y)) → pos(mult_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
equal_int(pos(01), pos(01)) → true
equal_int(neg(01), pos(01)) → true
equal_int(neg(01), neg(01)) → true
equal_int(pos(01), neg(01)) → true
equal_int(pos(01), pos(s(y))) → false
equal_int(neg(01), pos(s(y))) → false
equal_int(pos(01), neg(s(y))) → false
equal_int(neg(01), neg(s(y))) → false
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(neg(s(x)), pos(01)) → false
equal_int(neg(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(pos(x), neg(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_int(neg(x), neg(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
if(true, x, y) → x
if(false, x, y) → y
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
9755_1_main_InvokeMethod(9696_0_length_Return, NULL)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(26) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(27) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
9755_1_main_InvokeMethod(9696_0_length_Return, NULL)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(28) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

9755_1_main_InvokeMethod(9696_0_length_Return, NULL)

(29) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(30) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[0]), x2[0], x1[0]) at position [0] we obtained the following new rules [LPAR04]:

9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])

(31) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(32) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[1]), x1[1]) at position [0] we obtained the following new rules [LPAR04]:

9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])

(33) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(34) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0,0,1] we obtained the following new rules [LPAR04]:

9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

(35) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(36) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7]))) at position [0] we obtained the following new rules [LPAR04]:

10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))

(37) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(38) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0] we obtained the following new rules [LPAR04]:

11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))

(39) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(40) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL))) at position [0] we obtained the following new rules [LPAR04]:

COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))

(41) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(42) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL))) at position [0] we obtained the following new rules [LPAR04]:

COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))

(43) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(44) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13]) at position [0] we obtained the following new rules [LPAR04]:

COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])

(45) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(46) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) at position [0] we obtained the following new rules [LPAR04]:

9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))

(47) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(48) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15]) at position [0] we obtained the following new rules [LPAR04]:

COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])

(49) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(50) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18]))) at position [0] we obtained the following new rules [LPAR04]:

10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))

(51) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(52) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x1[22], NULL, NULL) at position [0] we obtained the following new rules [LPAR04]:

COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)

(53) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(54) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) at position [0,1,1,0] we obtained the following new rules [LPAR04]:

10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))

(55) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(56) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27]))) at position [0] we obtained the following new rules [LPAR04]:

10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))

(57) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(58) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28]))) at position [0] we obtained the following new rules [LPAR04]:

11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))

(59) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(60) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29]))) at position [0] we obtained the following new rules [LPAR04]:

11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))

(61) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(62) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL))) at position [0] we obtained the following new rules [LPAR04]:

COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))

(63) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(64) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), x0[35], java.lang.Object(List(x1[35])), NULL) at position [0] we obtained the following new rules [LPAR04]:

COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)

(65) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(66) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36]) at position [0] we obtained the following new rules [LPAR04]:

9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])

(67) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(68) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37]) at position [0] we obtained the following new rules [LPAR04]:

9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])

(69) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(70) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39]) at position [0] we obtained the following new rules [LPAR04]:

COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])

(71) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(72) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41]))) at position [0] we obtained the following new rules [LPAR04]:

COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))

(73) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(74) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), mod_int(pos(s(01)), pos(s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0,1] we obtained the following new rules [LPAR04]:

10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

(75) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(76) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(NULL), NULL, NULL, NULL) at position [0] we obtained the following new rules [LPAR04]:

COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)

(77) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(78) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45]))) at position [0] we obtained the following new rules [LPAR04]:

COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))

(79) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(80) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) at position [0,1,1,0] we obtained the following new rules [LPAR04]:

10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))

(81) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(82) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47]))) at position [0] we obtained the following new rules [LPAR04]:

COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))

(83) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(84) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49]))) at position [0] we obtained the following new rules [LPAR04]:

COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))

(85) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01)))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(86) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), mod_int(pos(s(01)), pos(s(s(01))))) at position [2] we obtained the following new rules [LPAR04]:

10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))

(87) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(88) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(not_equal_int(x2[52], pos(s(01))), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) at position [0] we obtained the following new rules [LPAR04]:

11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])

(89) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(90) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(not_equal_int(x2[55], pos(s(01))), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) at position [0] we obtained the following new rules [LPAR04]:

11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])

(91) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(92) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) at position [0] we obtained the following new rules [LPAR04]:

11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))

(93) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(94) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(greatereq_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) at position [0] we obtained the following new rules [LPAR04]:

11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))

(95) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(96) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59]))))) at position [0] we obtained the following new rules [LPAR04]:

COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))

(97) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(98) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61]))))) at position [0] we obtained the following new rules [LPAR04]:

COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))

(99) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(100) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62]) at position [0] we obtained the following new rules [LPAR04]:

11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])

(101) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(102) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64]) at position [0] we obtained the following new rules [LPAR04]:

COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])

(103) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(104) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66]) at position [0] we obtained the following new rules [LPAR04]:

COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])

(105) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(106) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68]))) at position [0] we obtained the following new rules [LPAR04]:

COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))

(107) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01)))))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(108) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), mod_int(pos(s(01)), pos(s(s(01))))) at position [2] we obtained the following new rules [LPAR04]:

10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))

(109) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(110) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(not_equal_int(x2[71], pos(s(01))), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) at position [0] we obtained the following new rules [LPAR04]:

11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])

(111) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(112) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) at position [0] we obtained the following new rules [LPAR04]:

11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))

(113) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(114) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(not_equal_int(x2[74], pos(s(01))), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) at position [0] we obtained the following new rules [LPAR04]:

11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])

(115) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(116) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75]))) at position [0] we obtained the following new rules [LPAR04]:

COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))

(117) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(118) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79]))) at position [0] we obtained the following new rules [LPAR04]:

COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))

(119) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(120) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80]) at position [0] we obtained the following new rules [LPAR04]:

11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])

(121) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(122) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(mult_int(pos(s(01)), pos(s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) at position [0,1,0] we obtained the following new rules [LPAR04]:

10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))

(123) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(124) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82]))) at position [0] we obtained the following new rules [LPAR04]:

COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))

(125) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(126) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84]))) at position [0] we obtained the following new rules [LPAR04]:

COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))

(127) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01)))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(128) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), mod_int(pos(s(01)), pos(s(s(01))))) at position [3] we obtained the following new rules [LPAR04]:

10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))

(129) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(130) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(not_equal_int(x3[87], pos(s(01))), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) at position [0] we obtained the following new rules [LPAR04]:

11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])

(131) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(132) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89]))) at position [0] we obtained the following new rules [LPAR04]:

11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))

(133) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(134) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(not_equal_int(x3[90], pos(s(01))), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) at position [0] we obtained the following new rules [LPAR04]:

11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])

(135) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])

The TRS R consists of the following rules:

9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(neg(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
not_equal_int(x, y) → or(greater_int(x, y), greater_int(y, x))
greater_int(pos(01), neg(01)) → false
greater_int(neg(01), neg(01)) → false
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(pos(01), neg(s(y))) → true
greater_int(neg(01), neg(s(y))) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(neg(s(x)), neg(01)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(01, s(x)) → 01
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(136) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(137) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])

The TRS R consists of the following rules:

greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), pos(01)) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
greater_int(pos(01), pos(01)) → false
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
not_equal_int(x0, x1)
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(138) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

not_equal_int(x0, x1)

(139) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])

The TRS R consists of the following rules:

greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), pos(01)) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
greater_int(pos(01), pos(01)) → false
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(140) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91]))) at position [0] we obtained the following new rules [LPAR04]:

COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))

(141) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))

The TRS R consists of the following rules:

greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), pos(01)) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
greater_int(pos(01), pos(01)) → false
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(142) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92]))) at position [0] we obtained the following new rules [LPAR04]:

11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))

(143) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))

The TRS R consists of the following rules:

greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), pos(01)) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
greater_int(pos(01), pos(01)) → false
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(144) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(11011_0_length_Load(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93]))) at position [0] we obtained the following new rules [LPAR04]:

11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))

(145) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))

The TRS R consists of the following rules:

greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), pos(01)) → true
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
greater_int(pos(01), pos(01)) → false
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
11011_0_length_Load(java.lang.Object(List(x0))) → 9688_0_length_NONNULL(java.lang.Object(List(x0)))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(146) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(147) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
11011_0_length_Load(NULL)
9571_0_length_Load(x0)
11011_0_length_Load(java.lang.Object(List(x0)))
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(148) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

11011_0_length_Load(NULL)
11011_0_length_Load(java.lang.Object(List(x0)))

(149) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9571_0_length_Load(x0)
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(150) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97]))))) at position [0] we obtained the following new rules [LPAR04]:

COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))

(151) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9571_0_length_Load(x0)
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(152) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99]))) at position [0] we obtained the following new rules [LPAR04]:

COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))

(153) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9571_0_length_Load(x0)
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(154) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9571_0_length_Load(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100]) at position [0] we obtained the following new rules [LPAR04]:

11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])

(155) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
9571_0_length_Load(x0) → 9688_0_length_NONNULL(x0)
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9571_0_length_Load(x0)
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(156) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(157) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9571_0_length_Load(x0)
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(158) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

9571_0_length_Load(x0)

(159) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(160) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0,0,1,0] we obtained the following new rules [LPAR04]:

9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

(161) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7])))
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(162) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[7]))), java.lang.Object(List(x1[7]))) at position [0] we obtained the following new rules [LPAR04]:

10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))

(163) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(164) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL))) at position [0] we obtained the following new rules [LPAR04]:

COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))

(165) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(166) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL))) at position [0] we obtained the following new rules [LPAR04]:

COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))

(167) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(168) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), plus_int(pos(01), pos(s(01))), x1[15]) at position [2] we obtained the following new rules [LPAR04]:

COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])

(169) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(170) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[18]))), java.lang.Object(List(x1[18]))) at position [0] we obtained the following new rules [LPAR04]:

10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))

(171) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(172) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x1[22], NULL, NULL) at position [0] we obtained the following new rules [LPAR04]:

COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)

(173) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(174) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) at position [0,1,1,0,0] we obtained the following new rules [LPAR04]:

10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))

(175) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(176) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[27]))), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27]))) at position [0] we obtained the following new rules [LPAR04]:

10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))

(177) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(178) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[28]))), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28]))) at position [0] we obtained the following new rules [LPAR04]:

11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))

(179) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(180) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[29]))), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29]))) at position [0] we obtained the following new rules [LPAR04]:

11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))

(181) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(182) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(NULL))), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL))) at position [0] we obtained the following new rules [LPAR04]:

COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))

(183) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL)
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(184) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), x0[35], java.lang.Object(List(x1[35])), NULL) at position [0] we obtained the following new rules [LPAR04]:

COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)

(185) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(186) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[41]))), java.lang.Object(List(x1[41]))) at position [0] we obtained the following new rules [LPAR04]:

COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))

(187) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(188) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(mod_nat(s(01), s(s(01))))), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0,1,0] we obtained the following new rules [LPAR04]:

10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))

(189) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(190) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(NULL), NULL, NULL, NULL) at position [0] we obtained the following new rules [LPAR04]:

COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)

(191) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(192) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[45]))), NULL, NULL, java.lang.Object(List(x1[45]))) at position [0] we obtained the following new rules [LPAR04]:

COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))

(193) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(194) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) at position [0,1,1,0,0] we obtained the following new rules [LPAR04]:

10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))

(195) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(196) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[47]))), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47]))) at position [0] we obtained the following new rules [LPAR04]:

COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))

(197) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(198) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[49]))), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49]))) at position [0] we obtained the following new rules [LPAR04]:

COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))

(199) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(200) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(mod_nat(s(01), s(s(01))))) at position [2,0] we obtained the following new rules [LPAR04]:

10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))

(201) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(202) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[57]))), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) at position [0] we obtained the following new rules [LPAR04]:

11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))

(203) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(204) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[59]))))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59]))))) at position [0] we obtained the following new rules [LPAR04]:

COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))

(205) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(206) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x1[61]))))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61]))))) at position [0] we obtained the following new rules [LPAR04]:

COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))

(207) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(208) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[68]))), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68]))) at position [0] we obtained the following new rules [LPAR04]:

COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))

(209) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(210) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(mod_nat(s(01), s(s(01))))) at position [2,0] we obtained the following new rules [LPAR04]:

10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))

(211) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(212) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[73]))), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) at position [0] we obtained the following new rules [LPAR04]:

11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))

(213) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(214) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[75]))), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75]))) at position [0] we obtained the following new rules [LPAR04]:

COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))

(215) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(216) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[79]))), x2[79], NULL, java.lang.Object(List(x1[79]))) at position [0] we obtained the following new rules [LPAR04]:

COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))

(217) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(218) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(mult_nat(s(01), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) at position [0,1,0,0] we obtained the following new rules [LPAR04]:

10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))

(219) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(220) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[82]))), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82]))) at position [0] we obtained the following new rules [LPAR04]:

COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))

(221) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(222) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[84]))), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84]))) at position [0] we obtained the following new rules [LPAR04]:

COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))

(223) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(224) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(mod_nat(s(01), s(s(01))))) at position [3,0] we obtained the following new rules [LPAR04]:

10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))

(225) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(226) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[89]))), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89]))) at position [0] we obtained the following new rules [LPAR04]:

11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))

(227) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(228) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x1[91]))), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91]))) at position [0] we obtained the following new rules [LPAR04]:

COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))

(229) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(230) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x2[92]))), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92]))) at position [0] we obtained the following new rules [LPAR04]:

11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))

(231) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(232) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x3[93]))), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93]))) at position [0] we obtained the following new rules [LPAR04]:

11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))

(233) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(234) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(java.lang.Object(List(x0[97]))))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97]))))) at position [0] we obtained the following new rules [LPAR04]:

COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))

(235) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(236) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(java.lang.Object(List(x0[99]))), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99]))) at position [0] we obtained the following new rules [LPAR04]:

COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))

(237) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(238) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0,0,1,0,0] we obtained the following new rules [LPAR04]:

9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

(239) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(240) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL))) at position [0,0] we obtained the following new rules [LPAR04]:

COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))

(241) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(242) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL))) at position [0,0] we obtained the following new rules [LPAR04]:

COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))

(243) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15])
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(244) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(plus_nat(01, s(01))), x1[15]) at position [2,0] we obtained the following new rules [LPAR04]:

COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])

(245) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(246) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) at position [0,1,1,0,0,0] we obtained the following new rules [LPAR04]:

10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))

(247) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(248) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(NULL), NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL))) at position [0,0] we obtained the following new rules [LPAR04]:

COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))

(249) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(250) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0,1,0,0] we obtained the following new rules [LPAR04]:

10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))

(251) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(252) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) at position [0,1,1,0,0,0] we obtained the following new rules [LPAR04]:

10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))

(253) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(254) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))) at position [2,0,0] we obtained the following new rules [LPAR04]:

10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))

(255) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(256) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[59]))), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59]))))) at position [0,0] we obtained the following new rules [LPAR04]:

COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))

(257) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(258) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x1[61]))), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61]))))) at position [0,0] we obtained the following new rules [LPAR04]:

COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))

(259) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(260) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))) at position [2,0,0] we obtained the following new rules [LPAR04]:

10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))

(261) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(262) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) at position [0,1,0,0,0] we obtained the following new rules [LPAR04]:

10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))

(263) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(264) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(greatereq_int(pos(01), pos(s(01))), mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))) at position [3,0,0] we obtained the following new rules [LPAR04]:

10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))

(265) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(266) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(java.lang.Object(List(x0[97]))), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97]))))) at position [0,0] we obtained the following new rules [LPAR04]:

COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))

(267) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(268) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01)))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0,0,1,0] we obtained the following new rules [LPAR04]:

9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(s(s(s(s(s(01))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

(269) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(s(s(s(s(s(01))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(270) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL))) at position [0] we obtained the following new rules [LPAR04]:

COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))

(271) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(s(s(s(s(s(01))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(272) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL))) at position [0] we obtained the following new rules [LPAR04]:

COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))

(273) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(s(s(s(s(s(01))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(274) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) at position [0,1,1,0,0] we obtained the following new rules [LPAR04]:

10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))

(275) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(s(s(s(s(s(01))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(276) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9696_0_length_Return, NULL), java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL))) at position [0] we obtained the following new rules [LPAR04]:

COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))

(277) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(s(s(s(s(s(01))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(278) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0,1,0] we obtained the following new rules [LPAR04]:

10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(s(01))), 9914_0_length_Return, java.lang.Object(List(NULL)))

(279) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(s(s(s(s(s(01))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(s(01))), 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(280) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) at position [0,1,1,0,0] we obtained the following new rules [LPAR04]:

10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))

(281) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(s(s(s(s(s(01))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(s(01))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(282) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))) at position [2,0] we obtained the following new rules [LPAR04]:

10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))

(283) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(s(s(s(s(s(01))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(s(01))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(284) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))) at position [2,0] we obtained the following new rules [LPAR04]:

10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))

(285) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(s(s(s(s(s(01))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(s(01))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(286) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(plus_nat(01, s(s(s(s(s(01))))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) at position [0,1,0,0] we obtained the following new rules [LPAR04]:

10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))

(287) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(s(s(s(s(s(01))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(s(01))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(288) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(if(false, mod_nat(minus_nat_s(01, s(01)), s(s(01))), s(01)))) at position [3,0] we obtained the following new rules [LPAR04]:

10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(s(01)))

(289) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(s(s(s(s(s(01))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(s(01))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(s(01)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(290) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(less_int(pos(01), pos(s(s(s(s(s(01))))))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0,0] we obtained the following new rules [LPAR04]:

9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

(291) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(s(01))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(s(01)))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(292) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(s(01)), pos(s(01))), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0] we obtained the following new rules [LPAR04]:

10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(01), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))

(293) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(s(01)))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(01), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(294) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), plus_int(pos(01), mult_int(pos(s(01)), pos(s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0,1,1,1] we obtained the following new rules [LPAR04]:

9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), plus_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

(295) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(s(01)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(01), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), plus_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(296) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(equal_int(pos(01), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0] we obtained the following new rules [LPAR04]:

10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))

(297) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(s(01)))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), plus_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(298) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), plus_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0,1,1] we obtained the following new rules [LPAR04]:

9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), pos(plus_nat(01, mult_nat(s(01), s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

(299) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(s(01)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), pos(plus_nat(01, mult_nat(s(01), s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(300) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), pos(plus_nat(01, mult_nat(s(01), s(s(s(s(s(01)))))))))), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0,1,1,0] we obtained the following new rules [LPAR04]:

9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

(301) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(s(01)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(302) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), pos(mult_nat(s(01), s(s(s(s(s(01))))))))), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0,1,1,0] we obtained the following new rules [LPAR04]:

9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

(303) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(s(01)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(304) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), pos(plus_nat(mult_nat(01, s(s(s(s(s(01)))))), s(s(s(s(s(01))))))))), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0,1,1,0,0] we obtained the following new rules [LPAR04]:

9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

(305) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(s(01)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01))))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(306) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), pos(plus_nat(01, s(s(s(s(s(01))))))))), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0,1,1,0] we obtained the following new rules [LPAR04]:

9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), pos(s(s(s(s(s(01)))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

(307) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(s(01)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), pos(s(s(s(s(s(01)))))))), 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(308) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, less_int(pos(01), pos(s(s(s(s(s(01)))))))), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0,1] we obtained the following new rules [LPAR04]:

9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, true), 9914_0_length_Return, java.lang.Object(List(NULL)))

(309) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(s(01)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, true), 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(310) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule 9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(and(true, true), 9914_0_length_Return, java.lang.Object(List(NULL))) at position [0] we obtained the following new rules [LPAR04]:

9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))

(311) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(s(01)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(312) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


11011_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10]))))) → COND_11011_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[10], pos(01)), 10322_0_length_Return(x0[10]), java.lang.Object(List(java.lang.Object(List(x1[10])))))
COND_11113_0_MAIN_NE(true, java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])), x2[53]) → 11220_0_MAIN_LOAD(java.lang.Object(List(x0[53])), java.lang.Object(List(x1[53])))
COND_11113_0_MAIN_NE1(true, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])), x2[56]) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[56])), java.lang.Object(List(x1[56])))
11656_0_MAIN_LE(java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96]) → COND_11656_0_MAIN_LE(greatereq_int(x4[96], x3[96]), java.lang.Object(List(x0[96])), java.lang.Object(List(x1[96])), java.lang.Object(List(x2[96])), x3[96], x4[96])
11011_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
COND_11339_0_MAIN_LE(true, java.lang.Object(List(x0[33])), java.lang.Object(List(x1[33])), x2[33], x3[33]) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(java.lang.Object(List(x0[33])))), x1[33], java.lang.Object(List(NULL)))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(01) = 0   
POL(10322_0_length_Return(x1)) = 1   
POL(10323_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4, x5)) = 1 + x3   
POL(10385_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = 1 + x4   
POL(10450_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = 1 + x4   
POL(10467_0_length_Load) = 0   
POL(10467_1_MAIN_INVOKEMETHOD(x1, x2)) = 1 + x2   
POL(10470_0_length_Return) = 0   
POL(10471_0_length_Return) = 0   
POL(10472_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4, x5)) = 1 + x5   
POL(10714_1_MAIN_INVOKEMETHOD(x1, x2)) = 1   
POL(10723_0_length_Return) = 0   
POL(10725_0_length_Return) = 0   
POL(10760_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = 1 + x3   
POL(10770_0_length_Return) = 0   
POL(10772_0_length_Return) = 0   
POL(10822_1_MAIN_INVOKEMETHOD(x1, x2)) = 1   
POL(10852_1_MAIN_INVOKEMETHOD(x1, x2)) = 1 + x2   
POL(10858_0_length_Return) = 0   
POL(10860_0_length_Return) = 0   
POL(10876_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = 1 + x2   
POL(10906_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = 1   
POL(10933_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = 1 + x3   
POL(11011_1_MAIN_INVOKEMETHOD(x1, x2)) = 1 + x2   
POL(11061_1_MAIN_INVOKEMETHOD(x1, x2)) = 1   
POL(11113_0_MAIN_NE(x1, x2, x3)) = 1 + x2   
POL(11118_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = 1 + x2   
POL(11153_0_MAIN_NE(x1, x2, x3)) = 1   
POL(11160_0_MAIN_NE(x1, x2, x3, x4)) = 1 + x3   
POL(11220_0_MAIN_LOAD(x1, x2)) = x2   
POL(11223_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = 1   
POL(11229_0_length_Return) = 0   
POL(11231_0_length_Return) = 0   
POL(11248_0_MAIN_LOAD(x1, x2)) = 1   
POL(11263_0_MAIN_LOAD(x1, x2, x3)) = 1 + x3   
POL(11281_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = 1 + x4   
POL(11322_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = x3   
POL(11330_0_length_Return) = 0   
POL(11332_0_length_Return) = 0   
POL(11339_0_MAIN_LE(x1, x2, x3, x4)) = 1 + x2   
POL(11343_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = 1   
POL(11371_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = 1 + x3   
POL(11496_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = x3   
POL(11545_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = 1   
POL(11555_0_length_Return) = 0   
POL(11557_0_length_Return) = 0   
POL(11562_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4, x5)) = 1 + x5   
POL(11656_0_MAIN_LE(x1, x2, x3, x4, x5)) = 1 + x3   
POL(9571_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = 1 + x3   
POL(9660_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = 1 + x2   
POL(9688_0_length_NONNULL(x1)) = 0   
POL(9696_0_length_Return) = 0   
POL(9755_1_MAIN_INVOKEMETHOD(x1, x2)) = 1 + x2   
POL(9806_1_length_InvokeMethod(x1, x2)) = 0   
POL(9914_0_length_Return) = 1   
POL(COND_10323_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4, x5, x6)) = 1 + x4   
POL(COND_10323_1_MAIN_INVOKEMETHOD1(x1, x2, x3, x4, x5, x6)) = 1 + x4   
POL(COND_10323_1_MAIN_INVOKEMETHOD2(x1, x2, x3, x4, x5, x6)) = 1 + x4   
POL(COND_10385_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4, x5)) = 1   
POL(COND_10385_1_MAIN_INVOKEMETHOD1(x1, x2, x3, x4, x5)) = 1 + x2   
POL(COND_10385_1_MAIN_INVOKEMETHOD2(x1, x2, x3, x4, x5)) = x2 + x5   
POL(COND_10450_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4, x5)) = 1   
POL(COND_10450_1_MAIN_INVOKEMETHOD1(x1, x2, x3, x4, x5)) = 1 + x2   
POL(COND_10450_1_MAIN_INVOKEMETHOD2(x1, x2, x3, x4, x5)) = x2 + x5   
POL(COND_10472_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4, x5, x6)) = 1   
POL(COND_10472_1_MAIN_INVOKEMETHOD1(x1, x2, x3, x4, x5, x6)) = 1 + x2   
POL(COND_10472_1_MAIN_INVOKEMETHOD2(x1, x2, x3, x4, x5, x6)) = x2 + x6   
POL(COND_10822_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = 1   
POL(COND_10822_1_MAIN_INVOKEMETHOD1(x1, x2, x3)) = 1   
POL(COND_11011_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = 1   
POL(COND_11011_1_MAIN_INVOKEMETHOD1(x1, x2, x3)) = x3   
POL(COND_11113_0_MAIN_NE(x1, x2, x3, x4)) = 1 + x3   
POL(COND_11113_0_MAIN_NE1(x1, x2, x3, x4)) = 1 + x3   
POL(COND_11153_0_MAIN_NE(x1, x2, x3, x4)) = 1   
POL(COND_11153_0_MAIN_NE1(x1, x2, x3, x4)) = 1   
POL(COND_11160_0_MAIN_NE(x1, x2, x3, x4, x5)) = 1 + x4   
POL(COND_11160_0_MAIN_NE1(x1, x2, x3, x4, x5)) = 1 + x4   
POL(COND_11223_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = 1   
POL(COND_11339_0_MAIN_LE(x1, x2, x3, x4, x5)) = 1 + x3   
POL(COND_11339_0_MAIN_LE1(x1, x2, x3, x4, x5)) = 1 + x3   
POL(COND_11496_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = 1   
POL(COND_11496_1_MAIN_INVOKEMETHOD1(x1, x2, x3, x4)) = x4   
POL(COND_11545_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4, x5)) = 1   
POL(COND_11656_0_MAIN_LE(x1, x2, x3, x4, x5, x6)) = x4   
POL(COND_11656_0_MAIN_LE1(x1, x2, x3, x4, x5, x6)) = 1 + x4   
POL(COND_9660_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = 1 + x3   
POL(COND_9660_1_MAIN_INVOKEMETHOD1(x1, x2, x3, x4)) = x3 + x4   
POL(COND_9755_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = 1 + x3   
POL(COND_9755_1_MAIN_INVOKEMETHOD1(x1, x2, x3)) = x2 + x3   
POL(Cond_9806_1_length_InvokeMethod(x1, x2, x3)) = 0   
POL(Cond_9806_1_length_InvokeMethod1(x1, x2, x3)) = 0   
POL(List(x1)) = 1 + x1   
POL(NULL) = 0   
POL(and(x1, x2)) = 0   
POL(equal_int(x1, x2)) = 0   
POL(false) = 0   
POL(greater_int(x1, x2)) = 0   
POL(greatereq_int(x1, x2)) = 1   
POL(if(x1, x2, x3)) = 0   
POL(java.lang.Object(x1)) = x1   
POL(less_int(x1, x2)) = 0   
POL(minus_nat(x1, x2)) = 0   
POL(minus_nat_s(x1, x2)) = 0   
POL(mod_int(x1, x2)) = 0   
POL(mod_nat(x1, x2)) = 0   
POL(mult_int(x1, x2)) = 0   
POL(mult_nat(x1, x2)) = 0   
POL(neg(x1)) = 0   
POL(or(x1, x2)) = 0   
POL(plus_int(x1, x2)) = 0   
POL(plus_nat(x1, x2)) = 0   
POL(pos(x1)) = 0   
POL(s(x1)) = 0   
POL(true) = 0   

The following usable rules [FROCOS05] were oriented: none

(313) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9755_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2]))))) → COND_9755_1_MAIN_INVOKEMETHOD(and(and(greatereq_int(x0[2], pos(s(01))), less_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2]))), less_int(pos(01), plus_int(pos(01), mult_int(pos(s(s(s(s(s(01)))))), x0[2])))), 10322_0_length_Return(x0[2]), java.lang.Object(List(java.lang.Object(List(x1[2])))))
COND_9755_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[3]), java.lang.Object(List(java.lang.Object(List(x1[3]))))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[3])))))
COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10467_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)))
10467_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[6]))) → 10852_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[6])))
9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11339_0_MAIN_LE(java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32]) → COND_11339_0_MAIN_LE(greatereq_int(x3[32], x2[32]), java.lang.Object(List(x0[32])), java.lang.Object(List(x1[32])), x2[32], x3[32])
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11220_0_MAIN_LOAD(java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54]))) → 11322_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x0[54])), java.lang.Object(List(x1[54])))
11496_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60]))))) → COND_11496_1_MAIN_INVOKEMETHOD1(greatereq_int(x0[60], pos(01)), 10322_0_length_Return(x0[60]), java.lang.Object(List(x1[60])), java.lang.Object(List(java.lang.Object(List(x2[60])))))
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[1], NULL) → 9755_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[1]), x1[1])
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
11113_0_MAIN_NE(java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52]) → COND_11113_0_MAIN_NE(or(greater_int(x2[52], pos(s(01))), greater_int(pos(s(01)), x2[52])), java.lang.Object(List(x0[52])), java.lang.Object(List(x1[52])), x2[52])
11113_0_MAIN_NE(java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55]) → COND_11113_0_MAIN_NE1(or(greater_int(x2[55], pos(s(01))), greater_int(pos(s(01)), x2[55])), java.lang.Object(List(x0[55])), java.lang.Object(List(x1[55])), x2[55])
11496_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL))) → COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[58])), java.lang.Object(List(NULL)))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10852_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[7]))) → 11011_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[7]), x1[7]), java.lang.Object(List(x1[7])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, NULL, NULL, NULL)
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
11322_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57]))) → 11496_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[57]), x2[57]), java.lang.Object(List(x1[57])), java.lang.Object(List(x2[57])))
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
COND_11496_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(x1[59])), java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[59]), x1[59]), java.lang.Object(List(x1[59]))), java.lang.Object(List(NULL)), NULL, java.lang.Object(List(java.lang.Object(List(x1[59])))))
COND_11496_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[61]), java.lang.Object(List(x1[61])), java.lang.Object(List(java.lang.Object(List(x2[61]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[61]), x1[61]), java.lang.Object(List(x1[61]))), java.lang.Object(List(NULL)), java.lang.Object(List(x2[61])), java.lang.Object(List(java.lang.Object(List(x1[61])))))
COND_11656_0_MAIN_LE(true, java.lang.Object(List(x0[97])), java.lang.Object(List(x1[97])), java.lang.Object(List(x2[97])), x3[97], x4[97]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[97]), x0[97]), java.lang.Object(List(x0[97]))), java.lang.Object(List(java.lang.Object(List(x1[97])))), x2[97], java.lang.Object(List(java.lang.Object(List(x0[97])))))
COND_11011_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), NULL, java.lang.Object(List(NULL)))
COND_11011_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[11]), java.lang.Object(List(java.lang.Object(List(x1[11]))))) → 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL)), java.lang.Object(List(x1[11])), java.lang.Object(List(NULL)))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(s(01)))
10822_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_10822_1_MAIN_INVOKEMETHOD(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
9755_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → COND_9755_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(314) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 21 less nodes.

(315) Complex Obligation (AND)

(316) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(317) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(318) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])

The TRS R consists of the following rules:

10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
greater_int(pos(s(x)), pos(01)) → true
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(319) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

(320) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])

The TRS R consists of the following rules:

10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
greater_int(pos(s(x)), pos(01)) → true
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))

We have to consider all minimal (P,Q,R)-chains.

(321) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • COND_9660_1_MAIN_INVOKEMETHOD(true, 10322_0_length_Return(x0[13]), x2[13], java.lang.Object(List(java.lang.Object(List(x1[13]))))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[13]), java.lang.Object(List(java.lang.Object(List(x1[13])))), plus_int(pos(01), x0[13]), x2[13])
    The graph contains the following edges 4 >= 2, 3 >= 4

  • 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[0], x2[0], NULL) → 9660_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[0]), x2[0], x1[0])
    The graph contains the following edges 3 >= 2, 2 >= 3

  • 9660_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12]))))) → COND_9660_1_MAIN_INVOKEMETHOD(greater_int(x0[12], pos(01)), 10322_0_length_Return(x0[12]), x2[12], java.lang.Object(List(java.lang.Object(List(x1[12])))))
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4

  • COND_10385_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[17])), x2[17], NULL) → 10714_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[17])))
    The graph contains the following edges 3 >= 2

  • COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[15], java.lang.Object(List(NULL))) → 10385_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[15]), java.lang.Object(List(NULL)), pos(s(01)), x1[15])
    The graph contains the following edges 4 >= 2, 3 >= 4

  • 10385_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL) → COND_10385_1_MAIN_INVOKEMETHOD(and(greater_int(x2[16], pos(01)), less_int(pos(01), plus_int(pos(01), x2[16]))), 9696_0_length_Return, java.lang.Object(List(x1[16])), x2[16], NULL)
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4, 4 >= 5

  • 10714_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[18]))) → 11061_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[18]), x1[18]), java.lang.Object(List(x1[18])))
    The graph contains the following edges 2 >= 2

  • 11223_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21]) → COND_11223_1_MAIN_INVOKEMETHOD(greater_int(x2[21], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[21])), x2[21])
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4

  • COND_11223_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[22])), x2[22]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x1[22], NULL, NULL)
    The graph contains the following edges 2 >= 1, 3 > 2

  • 9660_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[14], java.lang.Object(List(NULL))) → COND_9660_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, x1[14], java.lang.Object(List(NULL)))
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4

  • COND_11339_0_MAIN_LE1(true, java.lang.Object(List(x0[35])), java.lang.Object(List(x1[35])), x2[35], x3[35]) → 9571_1_MAIN_INVOKEMETHOD(9696_0_length_Return, x0[35], java.lang.Object(List(x1[35])), NULL)
    The graph contains the following edges 2 > 2, 3 >= 3

  • COND_10385_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[26]), java.lang.Object(List(x1[26])), x3[26], java.lang.Object(List(java.lang.Object(List(x2[26]))))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[26])), java.lang.Object(List(java.lang.Object(List(x2[26])))))
    The graph contains the following edges 3 >= 2, 5 >= 3

  • 10385_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25]))))) → COND_10385_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[25], pos(01)), less_int(pos(01), plus_int(x3[25], mult_int(pos(s(s(s(s(s(01)))))), x0[25])))), 10322_0_length_Return(x0[25]), java.lang.Object(List(x1[25])), x3[25], java.lang.Object(List(java.lang.Object(List(x2[25])))))
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4, 4 >= 5

  • 10385_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL))) → COND_10385_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[23], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[23]))), 9914_0_length_Return, java.lang.Object(List(x1[23])), x2[23], java.lang.Object(List(NULL)))
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4, 4 >= 5

  • 10760_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[27])), java.lang.Object(List(x2[27]))) → 11118_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[27]), x1[27]), java.lang.Object(List(x2[27])), java.lang.Object(List(x1[27])))
    The graph contains the following edges 3 >= 2, 2 >= 3

  • COND_10385_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[24])), x2[24], java.lang.Object(List(NULL))) → 10760_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[24])), java.lang.Object(List(NULL)))
    The graph contains the following edges 3 >= 2, 5 >= 3

  • 11339_0_MAIN_LE(java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34]) → COND_11339_0_MAIN_LE1(less_int(x3[34], x2[34]), java.lang.Object(List(x0[34])), java.lang.Object(List(x1[34])), x2[34], x3[34])
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4, 4 >= 5

  • 11061_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(NULL))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(NULL)), pos(s(01)))
    The graph contains the following edges 2 >= 2

  • 11061_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[20]), java.lang.Object(List(java.lang.Object(List(x1[20]))))) → 11223_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(java.lang.Object(List(x1[20])))), x0[20])
    The graph contains the following edges 2 >= 2, 1 > 3

  • 11118_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[28])), java.lang.Object(List(NULL))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[28]), x1[28]), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x1[28])))
    The graph contains the following edges 3 >= 2, 2 >= 4

  • 11118_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[29]), java.lang.Object(List(x2[29])), java.lang.Object(List(java.lang.Object(List(x1[29]))))) → 11281_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[29]), x2[29]), java.lang.Object(List(java.lang.Object(List(x1[29])))), x0[29], java.lang.Object(List(x2[29])))
    The graph contains the following edges 3 >= 2, 1 > 3, 2 >= 4

  • 11281_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[30])), x2[30], java.lang.Object(List(NULL))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[30])), java.lang.Object(List(NULL)), x2[30], pos(s(01)))
    The graph contains the following edges 2 >= 1, 4 >= 2, 3 >= 3

  • 11281_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[31]), java.lang.Object(List(x1[31])), x3[31], java.lang.Object(List(java.lang.Object(List(x2[31]))))) → 11339_0_MAIN_LE(java.lang.Object(List(x1[31])), java.lang.Object(List(java.lang.Object(List(x2[31])))), x3[31], x0[31])
    The graph contains the following edges 2 >= 1, 4 >= 2, 3 >= 3, 1 > 4

(322) YES

(323) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
mod_nat(01, s(x)) → 01
if(true, x, y) → x
if(false, x, y) → y
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
mult_nat(01, y) → 01
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_nat(s(x), 01) → 01
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
greatereq_int(neg(01), pos(01)) → true
greatereq_int(neg(01), neg(y)) → true
greatereq_int(pos(x), neg(y)) → true
greatereq_int(neg(x), pos(s(y))) → false
greatereq_int(neg(s(x)), pos(01)) → false
greatereq_int(neg(s(x)), neg(01)) → false
greatereq_int(neg(s(x)), neg(s(y))) → greatereq_int(neg(x), neg(y))
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(324) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(325) Obligation:

Q DP problem:
The TRS P consists of the following rules:

9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(s(01)))
10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))

The TRS R consists of the following rules:

9688_0_length_NONNULL(java.lang.Object(List(x0))) → 9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0), x0)
9688_0_length_NONNULL(NULL) → 9696_0_length_Return
9806_1_length_InvokeMethod(9696_0_length_Return, NULL) → 9914_0_length_Return
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → Cond_9806_1_length_InvokeMethod(greater_int(x0, pos(01)), 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL))) → Cond_9806_1_length_InvokeMethod1(greater_int(pos(s(01)), pos(01)), 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(s(x)), pos(01)) → true
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL))) → 10322_0_length_Return(plus_int(pos(s(01)), pos(s(01))))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(01, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
greater_int(pos(01), pos(01)) → false
greater_int(neg(01), pos(01)) → false
greater_int(neg(s(x)), pos(01)) → false
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x2))))) → 10322_0_length_Return(plus_int(pos(s(01)), x0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
minus_nat(01, 01) → pos(01)
minus_nat(01, s(y)) → neg(s(y))
minus_nat(s(x), 01) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(01), pos(01)) → false
less_int(pos(01), neg(01)) → false
less_int(pos(01), pos(s(y))) → true
less_int(pos(01), neg(s(y))) → false
and(false, false) → false
and(false, true) → false
and(true, false) → false
and(true, true) → true
mod_int(pos(x), pos(y)) → pos(mod_nat(x, y))
mod_int(neg(x), pos(y)) → neg(mod_nat(x, y))
mod_nat(s(x), s(y)) → if(greatereq_int(pos(x), pos(y)), mod_nat(minus_nat_s(x, y), s(y)), s(x))
mod_nat(01, s(x)) → 01
greatereq_int(pos(x), pos(01)) → true
greatereq_int(pos(01), pos(s(y))) → false
greatereq_int(pos(s(x)), pos(s(y))) → greatereq_int(pos(x), pos(y))
minus_nat_s(x, 01) → x
minus_nat_s(01, s(y)) → 01
minus_nat_s(s(x), s(y)) → minus_nat_s(x, y)
if(true, x, y) → x
if(false, x, y) → y
mult_int(pos(x), pos(y)) → pos(mult_nat(x, y))
mult_int(pos(x), neg(y)) → neg(mult_nat(x, y))
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
mult_nat(s(x), s(y)) → plus_nat(mult_nat(x, s(y)), s(y))
mult_nat(01, y) → 01
mult_nat(s(x), 01) → 01
greater_int(pos(01), pos(s(y))) → false
greater_int(neg(01), pos(s(y))) → false
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(pos(s(x)), neg(01)) → true
greater_int(pos(s(x)), neg(s(y))) → true
or(false, false) → false
or(false, true) → true
or(true, false) → true
or(true, true) → true
less_int(neg(01), pos(01)) → false
less_int(neg(01), neg(01)) → false
less_int(neg(01), pos(s(y))) → true
less_int(neg(01), neg(s(y))) → false
less_int(pos(s(x)), pos(01)) → false
less_int(neg(s(x)), pos(01)) → true
less_int(pos(s(x)), neg(01)) → false
less_int(neg(s(x)), neg(01)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
10467_0_length_Load10470_0_length_Return
10467_0_length_Load10471_0_length_Return
10467_0_length_Load10858_0_length_Return
10467_0_length_Load10860_0_length_Return
10467_0_length_Load10723_0_length_Return
10467_0_length_Load10725_0_length_Return
10467_0_length_Load11229_0_length_Return
10467_0_length_Load11231_0_length_Return
10467_0_length_Load10770_0_length_Return
10467_0_length_Load10772_0_length_Return
10467_0_length_Load11330_0_length_Return
10467_0_length_Load11332_0_length_Return
10467_0_length_Load11555_0_length_Return
10467_0_length_Load11557_0_length_Return
10467_0_length_Load9688_0_length_NONNULL(NULL)
equal_int(pos(s(x)), pos(01)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(s(x)), neg(01)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(pos(01), pos(01)) → true
equal_int(pos(01), pos(s(y))) → false

The set Q consists of the following terms:

10467_0_length_Load
9688_0_length_NONNULL(NULL)
9688_0_length_NONNULL(java.lang.Object(List(x0)))
9806_1_length_InvokeMethod(9696_0_length_Return, NULL)
9806_1_length_InvokeMethod(10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
Cond_9806_1_length_InvokeMethod(true, 10322_0_length_Return(x0), java.lang.Object(List(java.lang.Object(List(x1)))))
9806_1_length_InvokeMethod(9914_0_length_Return, java.lang.Object(List(NULL)))
Cond_9806_1_length_InvokeMethod1(true, 9914_0_length_Return, java.lang.Object(List(NULL)))
greater_int(pos(01), pos(01))
greater_int(pos(01), neg(01))
greater_int(neg(01), pos(01))
greater_int(neg(01), neg(01))
greater_int(pos(01), pos(s(x0)))
greater_int(neg(01), pos(s(x0)))
greater_int(pos(01), neg(s(x0)))
greater_int(neg(01), neg(s(x0)))
greater_int(pos(s(x0)), pos(01))
greater_int(neg(s(x0)), pos(01))
greater_int(pos(s(x0)), neg(01))
greater_int(neg(s(x0)), neg(01))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(01, x0)
plus_nat(s(x0), x1)
minus_nat(01, 01)
minus_nat(01, s(x0))
minus_nat(s(x0), 01)
minus_nat(s(x0), s(x1))
and(false, false)
and(false, true)
and(true, false)
and(true, true)
greatereq_int(pos(x0), pos(01))
greatereq_int(neg(01), pos(01))
greatereq_int(neg(01), neg(x0))
greatereq_int(pos(x0), neg(x1))
greatereq_int(pos(01), pos(s(x0)))
greatereq_int(neg(x0), pos(s(x1)))
greatereq_int(neg(s(x0)), pos(01))
greatereq_int(neg(s(x0)), neg(01))
greatereq_int(pos(s(x0)), pos(s(x1)))
greatereq_int(neg(s(x0)), neg(s(x1)))
less_int(pos(01), pos(01))
less_int(pos(01), neg(01))
less_int(neg(01), pos(01))
less_int(neg(01), neg(01))
less_int(pos(01), pos(s(x0)))
less_int(neg(01), pos(s(x0)))
less_int(pos(01), neg(s(x0)))
less_int(neg(01), neg(s(x0)))
less_int(pos(s(x0)), pos(01))
less_int(neg(s(x0)), pos(01))
less_int(pos(s(x0)), neg(01))
less_int(neg(s(x0)), neg(01))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
mult_int(pos(x0), pos(x1))
mult_int(pos(x0), neg(x1))
mult_int(neg(x0), pos(x1))
mult_int(neg(x0), neg(x1))
mult_nat(01, x0)
mult_nat(s(x0), 01)
mult_nat(s(x0), s(x1))
equal_int(pos(01), pos(01))
equal_int(neg(01), pos(01))
equal_int(neg(01), neg(01))
equal_int(pos(01), neg(01))
equal_int(pos(01), pos(s(x0)))
equal_int(neg(01), pos(s(x0)))
equal_int(pos(01), neg(s(x0)))
equal_int(neg(01), neg(s(x0)))
equal_int(pos(s(x0)), pos(01))
equal_int(pos(s(x0)), neg(01))
equal_int(neg(s(x0)), pos(01))
equal_int(neg(s(x0)), neg(01))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
mod_int(pos(x0), pos(x1))
mod_int(pos(x0), neg(x1))
mod_int(neg(x0), pos(x1))
mod_int(neg(x0), neg(x1))
mod_nat(01, s(x0))
mod_nat(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minus_nat_s(x0, 01)
minus_nat_s(01, s(x0))
minus_nat_s(s(x0), s(x1))
or(false, false)
or(false, true)
or(true, false)
or(true, true)

We have to consider all minimal (P,Q,R)-chains.

(326) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • COND_10323_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[39])), x2[39], x3[39], NULL) → 10450_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[39]), java.lang.Object(List(x1[39])), plus_int(pos(01), x3[39]), x2[39])
    The graph contains the following edges 3 >= 2, 4 >= 4

  • 10323_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL) → COND_10323_1_MAIN_INVOKEMETHOD(greater_int(x3[38], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[38])), x2[38], x3[38], NULL)
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4, 4 >= 5, 5 >= 6

  • COND_10450_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[41])), x2[41], NULL) → 10822_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[41]), x1[41]), java.lang.Object(List(x1[41])))
    The graph contains the following edges 3 >= 2

  • 10450_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL) → COND_10450_1_MAIN_INVOKEMETHOD(and(greater_int(x2[40], pos(01)), less_int(pos(01), plus_int(pos(01), x2[40]))), 9696_0_length_Return, java.lang.Object(List(x1[40])), x2[40], NULL)
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4, 4 >= 5

  • 10822_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44]))))) → COND_10822_1_MAIN_INVOKEMETHOD1(equal_int(pos(s(01)), mod_int(x0[44], pos(s(s(01))))), 10322_0_length_Return(x0[44]), java.lang.Object(List(java.lang.Object(List(x1[44])))))
    The graph contains the following edges 1 >= 2, 2 >= 3

  • COND_10822_1_MAIN_INVOKEMETHOD1(true, 10322_0_length_Return(x0[45]), java.lang.Object(List(java.lang.Object(List(x1[45]))))) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[45]), x1[45]), NULL, NULL, java.lang.Object(List(x1[45])))
    The graph contains the following edges 3 > 4

  • COND_10323_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[64])), x2[64], x3[64], java.lang.Object(List(NULL))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[64]), java.lang.Object(List(x1[64])), java.lang.Object(List(NULL)), plus_int(pos(s(01)), x3[64]), x2[64])
    The graph contains the following edges 3 >= 2, 6 >= 3, 4 >= 5

  • 10323_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL))) → COND_10323_1_MAIN_INVOKEMETHOD1(greater_int(x3[63], pos(01)), 9914_0_length_Return, java.lang.Object(List(x1[63])), x2[63], x3[63], java.lang.Object(List(NULL)))
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4, 4 >= 5, 5 >= 6

  • 10323_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65]))))) → COND_10323_1_MAIN_INVOKEMETHOD2(greater_int(x4[65], pos(01)), 10322_0_length_Return(x0[65]), java.lang.Object(List(x1[65])), x3[65], x4[65], java.lang.Object(List(java.lang.Object(List(x2[65])))))
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4, 4 >= 5, 5 >= 6

  • COND_10472_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[68])), java.lang.Object(List(x2[68])), x3[68], NULL) → 10906_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[68]), x1[68]), java.lang.Object(List(x2[68])), java.lang.Object(List(x1[68])))
    The graph contains the following edges 4 >= 2, 3 >= 3

  • COND_10323_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[66]), java.lang.Object(List(x1[66])), x3[66], x4[66], java.lang.Object(List(java.lang.Object(List(x2[66]))))) → 10472_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x3[66]), java.lang.Object(List(x1[66])), java.lang.Object(List(java.lang.Object(List(x2[66])))), plus_int(x4[66], x0[66]), x3[66])
    The graph contains the following edges 3 >= 2, 6 >= 3, 4 >= 5

  • 10472_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL) → COND_10472_1_MAIN_INVOKEMETHOD(less_int(pos(01), plus_int(pos(01), x3[67])), 9696_0_length_Return, java.lang.Object(List(x1[67])), java.lang.Object(List(x2[67])), x3[67], NULL)
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4, 4 >= 5, 5 >= 6

  • 11153_0_MAIN_NE(java.lang.Object(List(x0[80])), java.lang.Object(List(x1[80])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[80]), java.lang.Object(List(x1[80])), NULL, x0[80])
    The graph contains the following edges 2 >= 2, 1 > 4

  • COND_11153_0_MAIN_NE(true, java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])), x2[72]) → 11248_0_MAIN_LOAD(java.lang.Object(List(x0[72])), java.lang.Object(List(x1[72])))
    The graph contains the following edges 2 >= 1, 3 >= 2

  • 11153_0_MAIN_NE(java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71]) → COND_11153_0_MAIN_NE(or(greater_int(x2[71], pos(s(01))), greater_int(pos(s(01)), x2[71])), java.lang.Object(List(x0[71])), java.lang.Object(List(x1[71])), x2[71])
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4

  • 11153_0_MAIN_NE(java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74]) → COND_11153_0_MAIN_NE1(or(greater_int(x2[74], pos(s(01))), greater_int(pos(s(01)), x2[74])), java.lang.Object(List(x0[74])), java.lang.Object(List(x1[74])), x2[74])
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4

  • 11248_0_MAIN_LOAD(java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73]))) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[73]), x1[73]), java.lang.Object(List(x0[73])), java.lang.Object(List(x1[73])))
    The graph contains the following edges 1 >= 2, 2 >= 3

  • 11545_1_MAIN_INVOKEMETHOD(9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78]) → COND_11545_1_MAIN_INVOKEMETHOD(greater_int(x3[78], pos(01)), 9696_0_length_Return, java.lang.Object(List(x1[78])), java.lang.Object(List(x2[78])), x3[78])
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4, 4 >= 5

  • COND_11153_0_MAIN_NE1(true, java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])), x2[75]) → 11343_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[75]), x1[75]), java.lang.Object(List(x0[75])), java.lang.Object(List(x1[75])))
    The graph contains the following edges 2 >= 2, 3 >= 3

  • COND_11545_1_MAIN_INVOKEMETHOD(true, 9696_0_length_Return, java.lang.Object(List(x1[79])), java.lang.Object(List(x2[79])), x3[79]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[79]), x1[79]), x2[79], NULL, java.lang.Object(List(x1[79])))
    The graph contains the following edges 4 > 2, 3 >= 4

  • COND_10472_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[84]), java.lang.Object(List(x1[84])), java.lang.Object(List(x2[84])), x4[84], java.lang.Object(List(java.lang.Object(List(x3[84]))))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[84]), x1[84]), java.lang.Object(List(x2[84])), java.lang.Object(List(java.lang.Object(List(x3[84])))), java.lang.Object(List(x1[84])))
    The graph contains the following edges 4 >= 2, 6 >= 3, 3 >= 4

  • 10472_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83]))))) → COND_10472_1_MAIN_INVOKEMETHOD2(less_int(pos(01), plus_int(x4[83], mult_int(pos(s(s(s(s(s(01)))))), x0[83]))), 10322_0_length_Return(x0[83]), java.lang.Object(List(x1[83])), java.lang.Object(List(x2[83])), x4[83], java.lang.Object(List(java.lang.Object(List(x3[83])))))
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4, 4 >= 5, 5 >= 6

  • 10472_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL))) → COND_10472_1_MAIN_INVOKEMETHOD1(less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x3[81])), 9914_0_length_Return, java.lang.Object(List(x1[81])), java.lang.Object(List(x2[81])), x3[81], java.lang.Object(List(NULL)))
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4, 4 >= 5, 5 >= 6

  • 11160_0_MAIN_NE(java.lang.Object(List(x0[100])), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[100]), java.lang.Object(List(x1[100])), java.lang.Object(List(x2[100])), x0[100])
    The graph contains the following edges 2 >= 2, 3 >= 3, 1 > 4

  • COND_10472_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[82])), java.lang.Object(List(x2[82])), x3[82], java.lang.Object(List(NULL))) → 10933_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[82]), x1[82]), java.lang.Object(List(x2[82])), java.lang.Object(List(NULL)), java.lang.Object(List(x1[82])))
    The graph contains the following edges 4 >= 2, 6 >= 3, 3 >= 4

  • COND_11160_0_MAIN_NE(true, java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])), x3[88]) → 11263_0_MAIN_LOAD(java.lang.Object(List(x0[88])), java.lang.Object(List(x1[88])), java.lang.Object(List(x2[88])))
    The graph contains the following edges 2 >= 1, 3 >= 2, 4 >= 3

  • 11160_0_MAIN_NE(java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87]) → COND_11160_0_MAIN_NE(or(greater_int(x3[87], pos(s(01))), greater_int(pos(s(01)), x3[87])), java.lang.Object(List(x0[87])), java.lang.Object(List(x1[87])), java.lang.Object(List(x2[87])), x3[87])
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4, 4 >= 5

  • 11160_0_MAIN_NE(java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90]) → COND_11160_0_MAIN_NE1(or(greater_int(x3[90], pos(s(01))), greater_int(pos(s(01)), x3[90])), java.lang.Object(List(x0[90])), java.lang.Object(List(x1[90])), java.lang.Object(List(x2[90])), x3[90])
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4, 4 >= 5

  • 11263_0_MAIN_LOAD(java.lang.Object(List(x0[89])), java.lang.Object(List(x1[89])), java.lang.Object(List(x2[89]))) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[89]), x1[89]), java.lang.Object(List(x0[89])), java.lang.Object(List(x2[89])), java.lang.Object(List(x1[89])))
    The graph contains the following edges 1 >= 2, 3 >= 3, 2 >= 4

  • COND_11160_0_MAIN_NE1(true, java.lang.Object(List(x0[91])), java.lang.Object(List(x1[91])), java.lang.Object(List(x2[91])), x3[91]) → 11371_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[91]), x1[91]), java.lang.Object(List(x0[91])), java.lang.Object(List(x2[91])), java.lang.Object(List(x1[91])))
    The graph contains the following edges 2 >= 2, 4 >= 3, 3 >= 4

  • 11656_0_MAIN_LE(java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98]) → COND_11656_0_MAIN_LE1(less_int(x4[98], x3[98]), java.lang.Object(List(x0[98])), java.lang.Object(List(x1[98])), java.lang.Object(List(x2[98])), x3[98], x4[98])
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4, 4 >= 5, 5 >= 6

  • COND_11656_0_MAIN_LE1(true, java.lang.Object(List(x0[99])), java.lang.Object(List(x1[99])), java.lang.Object(List(x2[99])), x3[99], x4[99]) → 9571_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x0[99]), x0[99]), x1[99], java.lang.Object(List(x2[99])), java.lang.Object(List(x0[99])))
    The graph contains the following edges 3 > 2, 4 >= 3, 2 >= 4

  • 11113_0_MAIN_NE(java.lang.Object(List(x0[62])), java.lang.Object(List(x1[62])), pos(s(01))) → 9571_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x0[62]), NULL, java.lang.Object(List(x1[62])), x0[62])
    The graph contains the following edges 2 >= 3, 1 > 4

  • COND_10450_1_MAIN_INVOKEMETHOD2(true, 10322_0_length_Return(x0[49]), java.lang.Object(List(x1[49])), x3[49], java.lang.Object(List(java.lang.Object(List(x2[49]))))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[49]), x1[49]), java.lang.Object(List(java.lang.Object(List(x2[49])))), java.lang.Object(List(x1[49])))
    The graph contains the following edges 5 >= 2, 3 >= 3

  • 10450_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48]))))) → COND_10450_1_MAIN_INVOKEMETHOD2(and(greater_int(x3[48], pos(01)), less_int(pos(01), plus_int(x3[48], mult_int(pos(s(s(s(s(s(01)))))), x0[48])))), 10322_0_length_Return(x0[48]), java.lang.Object(List(x1[48])), x3[48], java.lang.Object(List(java.lang.Object(List(x2[48])))))
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4, 4 >= 5

  • 10450_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL))) → COND_10450_1_MAIN_INVOKEMETHOD1(and(greater_int(x2[46], pos(01)), less_int(pos(01), plus_int(pos(s(s(s(s(s(01)))))), x2[46]))), 9914_0_length_Return, java.lang.Object(List(x1[46])), x2[46], java.lang.Object(List(NULL)))
    The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4, 4 >= 5

  • COND_10450_1_MAIN_INVOKEMETHOD1(true, 9914_0_length_Return, java.lang.Object(List(x1[47])), x2[47], java.lang.Object(List(NULL))) → 10876_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x1[47]), x1[47]), java.lang.Object(List(NULL)), java.lang.Object(List(x1[47])))
    The graph contains the following edges 5 >= 2, 3 >= 3

  • 9571_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[36]), x2[36], x3[36], java.lang.Object(List(java.lang.Object(List(x1[36]))))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x2[36]), java.lang.Object(List(java.lang.Object(List(x1[36])))), x3[36], x0[36], x2[36])
    The graph contains the following edges 4 >= 2, 3 >= 3, 1 > 4, 2 >= 5

  • 9571_1_MAIN_INVOKEMETHOD(9914_0_length_Return, x1[37], x2[37], java.lang.Object(List(NULL))) → 10323_1_MAIN_INVOKEMETHOD(9688_0_length_NONNULL(x1[37]), java.lang.Object(List(NULL)), x2[37], pos(s(01)), x1[37])
    The graph contains the following edges 4 >= 2, 3 >= 3, 2 >= 5

  • 10906_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[70]), java.lang.Object(List(x2[70])), java.lang.Object(List(java.lang.Object(List(x1[70]))))) → 11153_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[70])))), java.lang.Object(List(x2[70])), mod_int(x0[70], pos(s(s(01)))))
    The graph contains the following edges 3 >= 1, 2 >= 2

  • 10906_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[69])), java.lang.Object(List(NULL))) → 11153_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[69])), pos(s(01)))
    The graph contains the following edges 3 >= 1, 2 >= 2

  • 11343_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[76])), java.lang.Object(List(NULL)), pos(s(01)))
    The graph contains the following edges 2 >= 2, 3 >= 3

  • 11343_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[77]), java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77]))))) → 11545_1_MAIN_INVOKEMETHOD(10467_0_length_Load, java.lang.Object(List(x1[77])), java.lang.Object(List(java.lang.Object(List(x2[77])))), x0[77])
    The graph contains the following edges 2 >= 2, 3 >= 3, 1 > 4

  • 10933_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[86]), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), java.lang.Object(List(java.lang.Object(List(x1[86]))))) → 11160_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[86])))), java.lang.Object(List(x2[86])), java.lang.Object(List(x3[86])), mod_int(x0[86], pos(s(s(01)))))
    The graph contains the following edges 4 >= 1, 2 >= 2, 3 >= 3

  • 10933_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), java.lang.Object(List(NULL))) → 11160_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[85])), java.lang.Object(List(x2[85])), pos(s(01)))
    The graph contains the following edges 4 >= 1, 2 >= 2, 3 >= 3

  • 11371_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[92])), java.lang.Object(List(x2[92])), java.lang.Object(List(NULL))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x2[92]), x2[92]), java.lang.Object(List(x1[92])), java.lang.Object(List(NULL)), pos(s(01)), java.lang.Object(List(x2[92])))
    The graph contains the following edges 2 >= 2, 4 >= 3, 3 >= 5

  • 11371_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(x3[93])), java.lang.Object(List(java.lang.Object(List(x2[93]))))) → 11562_1_MAIN_INVOKEMETHOD(9806_1_length_InvokeMethod(9688_0_length_NONNULL(x3[93]), x3[93]), java.lang.Object(List(x1[93])), java.lang.Object(List(java.lang.Object(List(x2[93])))), x0[93], java.lang.Object(List(x3[93])))
    The graph contains the following edges 2 >= 2, 4 >= 3, 1 > 4, 3 >= 5

  • 11562_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), x3[94], java.lang.Object(List(NULL))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[94])), java.lang.Object(List(x2[94])), java.lang.Object(List(NULL)), x3[94], pos(s(01)))
    The graph contains the following edges 2 >= 1, 3 >= 2, 5 >= 3, 4 >= 4

  • 11562_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[95]), java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), x4[95], java.lang.Object(List(java.lang.Object(List(x3[95]))))) → 11656_0_MAIN_LE(java.lang.Object(List(x1[95])), java.lang.Object(List(x2[95])), java.lang.Object(List(java.lang.Object(List(x3[95])))), x4[95], x0[95])
    The graph contains the following edges 2 >= 1, 3 >= 2, 5 >= 3, 4 >= 4, 1 > 5

  • 10876_1_MAIN_INVOKEMETHOD(10322_0_length_Return(x0[51]), java.lang.Object(List(x2[51])), java.lang.Object(List(java.lang.Object(List(x1[51]))))) → 11113_0_MAIN_NE(java.lang.Object(List(java.lang.Object(List(x1[51])))), java.lang.Object(List(x2[51])), mod_int(x0[51], pos(s(s(01)))))
    The graph contains the following edges 3 >= 1, 2 >= 2

  • 10876_1_MAIN_INVOKEMETHOD(9914_0_length_Return, java.lang.Object(List(x1[50])), java.lang.Object(List(NULL))) → 11113_0_MAIN_NE(java.lang.Object(List(NULL)), java.lang.Object(List(x1[50])), pos(s(01)))
    The graph contains the following edges 3 >= 1, 2 >= 2

(327) YES